int* sum(int *mypt,int len){
int i;
int mysum = 0;
for(i=0;i<len;i++)
mysum += mysum;
return &mysum; // I cannot do this since the function frame goes away after the call.
}
int main()
{
int *pt = (int*) malloc(3*sizeof(int));
pt[0] = 0;
pt[1] = 1;
pt[2] = 2;
int *s = sum(pt,3);
printf("%d\n",*s);
return 0;
}
我想返回一个指向mysum
. 我不能这样做int static sum = 0
,因为它是固定的。我不能使用int const sum = 0
,因为它给出了一个错误“只读”。有针对这个的解决方法吗 ?