为什么得不到正确答案?

来源:百度知道 编辑:UC知道 时间:2024/05/30 23:46:26
#include "stdio.h"
main()
{
int arr[5][5]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};
int i,j,sum=0;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(i=j)
sum=sum+arr[i][j];
printf("Sum=%d\n",sum);
}
得到的结果比正确的少1.。怎么也看不出问题啊。。
到底怎么搞的。。

问题就是 if(i=j) -->if(i==j)

= 和 == 是不同的

用一个循环就可以啊,为什么要用两个?
#include <stdio.h>
main()
{
int arr[5][5]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};
int i,sum=0;
for(i=0;i<5;i++) sum=sum+arr[i][i];
printf("Sum=%d\n",sum);
}

没仔细看,就看见你的if语句,里面应该写成if(i==j).