为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

0 回复 有任何疑惑可以回复我~
#1

最好的自己1 提问者

非常感谢!
2016-12-01 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926020    人
  • 解答问题       20793    个

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

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信