问题
问答题
下列给定程序中,函数fun()的功能是:先从键盘上输入一个3行3列的矩阵的各个元素的值,然后输出主对角线元素之和。
请改正函数fun()中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdio.h>
int fun()
int a[3] [3],sum;
int i,j;
/*************found**************/
sum=1;
for (i=0;i<3;i++)
for (j=0;j<3;j++)
/*************found**************/
scanf("%d",a[i][j]);
for(i=0;i<3;i++)
sum=sum+a[i][i];
printf("Sum=%d\n",sum);
main()
fun();
答案
参考答案:
(A)错误:sun=A; 正确:sum=0;
(B) 错误:scanf("%d",a[i][j]); 正确:scanf("%d",&a[i][j]);
解析:
该题依然考查对循环语句的掌握和对数组概念的理解,根据题干主线,我们可以看清这样的一个解题思路:先从键盘输入一个3×3矩阵,然后再循环累加执行循环语句中的sum=sum+a[i][i],所以sum=0。