填空题 下列给定程序中,函数fun的功能是:先从键盘上输入一个3行、3列的矩阵的各个元素的值,然后输出主对角线元素之和。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
void 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);
}
void main()
{
fun();
}
【正确答案】
【答案解析】(1)sum=0;
(2)scanf("%d",&a[i][j]); [解析]
该题考查对循环语句的掌握和对数组概念的理解。本题的解题思路为:先从键盘输入一个3×3矩阵,然后循环累加,执行循环语句中的sum=sum+a[i][i];。因为变量sum用来存放累加后的结果,所以应对其初始化为0。第二处错误考查标准输入函数scanf的格式,被赋值的变量前要加上取地址符"&"。