[求助]有个题输出不对
9、 请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维
数组中的值在主函数中赋予。
例如:二维数组中的值为
则函数值为61。
试题程序。
#include <conio.h>
#include <stdio.h>
#define M 4
#define N 5
/*注:该题的第一个for()循环是计算矩阵的最上一行和最下一行的总和,第二个for()
是计算除两头元素以外的最左一列和最右一列的元素的和,最后sun就是周边元素的和。
*/
int fun(int a[M][N])
{int sum=0,i;
for(i=0;i<N;i++)
sum+=a[0][i]+a[M-1][i];
for(i=1;i<M-1;i++);
sum+=a[i][0]+a[i][N-1];
return sum ;
}
main()
{ int aa[M][N]={{1,3,5,7,9},
{2,9,9,9,4},
{6,9,9,9,8},
{1,3,5,7,0}};
int i,j,y;
clrscr();
printf("The original data is :\n");
for(i=0;i<M;i++)
{for(j=0;j<N;j++) printf("%6d",aa[i][j]);
printf("\n");
}
y=fun(aa);
printf("\nThe sum: %d\n",y);
printf("\n");
}
\---------------------------------------------------------------------------------------------------------------\
输出的应该是61啊 为什么输出的是42呢?