#include <stdio.h>
int main()
{
int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
int i,j;
int sum=0;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("arr[%d][%d]=%d\n",i,j,arr[i][j]);
if(i%2==0&&j%2==0)
{
sum+=arr[i][j];
}
}
}
sum+=arr[1][1];
printf("对角线元素之和是:%d\n",sum);
return 0;
}
因为你在后面用了“sum+=xx”,意思是sum=sum+xx,如果你在开始时不赋值,那么第二个sum是没有值的,那么这个加法没有意义了,而你给了sum=0,那么相当于sum=0+xx,这时候才有效
如果只定义sum,没赋值,当用到sum的时候,系统就会随机给sum赋值一个值.