请问!
#include <stdio.h>
void get_sum_row(int x[][3], int result[] ,int row, int col)
{ int i,j;
for(i=0;i<row;i++)
{ result[i]=0;
for(j=0;j<col;j++) result[i]+=x[i][j];}
}
void main()
{ int a[2][3]={3,6,9,1,4,7};
int sum_row[2],row=2,col=3,i;
get_sum_row(a,sum_row,row,col);
for(i=0;i<row;i++)
printf("The sum of row[%d]=%d\n",i+1,sum_row[i]);
}
请问调用函数不是蓝色的get_sum_row吗,为啥求出的时候写的是红色的sum_row?
sum_row不是定义了吗。
WHY?麻烦写清楚点。谢谢
[解决办法]
什么意思呢?get_sum_row是函数,sum_row是参数。不过这个传递的是数组,类似于传递的是指针,但是呢。你没有在函数中修改数组的值。你把结果保存在一个result数组中,这个数组定义在get_sum_row中,它的生存周期就是在函数中,函数调用完成后就被系统回收了。所以你没有得到你要的结果。你可以传递一个存放结果的数组,这样就可以获得你想要的了
[解决办法]
sum_row是返回值,输出的时候当然应该是sum_row,get_sum_row是函数,怎么能输出呢?