问答详情
源自:6-11 多维数组的遍历

为什么没有正确答案,是哪里错了吗

#include<stdio.h>

int main(){

int arr[3][3]={{1,2,3},{2,3,4},{3,4,5}};

int i,j;

int sum=0;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

if(i=j)

sum+=arr[i][j];

printf("对角元素之和为%d\n",sum);

return 0;

}

为什么这样子运行之后结果是8啊

提问者:最好的自己1 2016-11-29 21:30

个回答

  • Staularu
    2016-12-01 01:26:11
    已采纳

    if(i=j)应该是if(i==j),i=j这个赋值语句会返回j的值给if判断,所以在j=0的时候if语句为加,为1和2时为真,所以sum只加了arr[1][1]和arr[2][2],所以会输出8.