求大神解答一下!程序编译通过,总是停止运行。

int* qiuyu(int n,int i)
{
int sum;
static int m=2;
sum[i]=n%m;
m
=2;
n-=sum[i];
if(sum[i]==0) /*求n的2次方之和*/
return qiuyu(n,i);
if(n==0)
return sum;
else
return qiuyu(n,++i);

}

int main(void)
{ int m;
int *sum,n=27,i=0;
sum=qiuyu(n,i);
m=sizeof(sum)/sizeof(int);
printf("%d",m);

}

那个sum变量是怎么回事哦

int * sum表明sum只能存储整型变量的地址,而题主后面出现sum[i]这里的sum是一个整型常量的地址。好像有点问题。