為什么沒有正確答案,是哪里錯(cuò)了嗎
#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;
}
為什么這樣子運(yùn)行之后結(jié)果是8啊
#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;
}
為什么這樣子運(yùn)行之后結(jié)果是8啊
2016-11-29
舉報(bào)
2016-12-01
if(i=j)應(yīng)該是if(i==j),i=j這個(gè)賦值語句會返回j的值給if判斷,所以在j=0的時(shí)候if語句為加,為1和2時(shí)為真,所以sum只加了arr[1][1]和arr[2][2],所以會輸出8.