>>543
ポインタの使い方が間違ってます。
せっかく配列だからポインタの事ほとんど気にしなくて良いのに…
書いてるプログラムはコンパイルしてみた?

sbunkai側からkekkaで引数とする配列の個数が分からないってのが気になるなぁ…

あと、別にエラーは出ないよ(全角スペースをそのままにしてないか?)
#include<stdio.h>

void change(int n, int *a, int *b)
{
  int s[32], i=2, c=0;
  *a = 1; *b = 1;
  while (n > 1) {
    if (n % i == 0) {
      if (((c==0)?0:s[c-1]) == i) {
        *a *= i; s[--c] = 0;
      } else
        s[c++] = i;
      n /= i;
      continue;
    } else
      i++;
  }
  for (i=0; i<c; i++) *b *= s[i];
}

int main(void){
  return 0;
}