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

来源:6-11 多维数组的遍历

最好的自己1

2016-11-29 21:30

#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回答

  • 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.

    最好的自己1

    非常感谢!

    2016-12-01 12:03:53

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926025 学习 · 20793 问题

查看课程

相似问题