填空题
给定程序MODllC中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上各元素之和,返回此和数。
#inClude<coMo.h>
#inClude<stdio.h>
#dehne M 5
/************found************/
int fun(int n,int xx[][])
{int i,j,sum=0;
printf("/n The%dx%d matrix:\n"M,M);
for(i=0;i<M;i++)
{ for(j=0;j<M;j++)
/************found************/
printf("%f",xx[i][j]);
printf("/n");
}
for(i=0;i<n;i++)
sum+=xx[i][i]+XX[i][[n-i-1];
return(sum);
}
main( )
{int aa[M][M]={{1,2,3,4,5),{4,3,2,1,0),
{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};
clrscr( );
printf("/n The sum Of all elements On 2 diagnals is %d."fun(M,aa));
}
【正确答案】
1、int fun(int n,int xx[][]) 改为 int fun(int n,int xx[][M))
【答案解析】printf("%f,xx[i][j]); 改为 printf("%d,"xx[i][j]);
[解析] 二维数组作为函数形参时,二维长度不可缺省,只能省略一维的长度。在格式输出函数中,血型数据输出时对应的控制符是%d.