首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请教

2012-03-07 
请问!#include stdio.hvoid get_sum_row(intx[][3], intresult[] ,introw, intcol){ int i,jfor(i0i

请问!
#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是函数,怎么能输出呢?

热点排行