3*3整型距阵对角线元素之和,这个程序错哪里呢?

#include
int main ()
{int a[3][3];
int i,j,s=0;
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
if(i==j) printf("%d",a[i][j]);
s=s+a[i][j];}
printf("%d",s);
return 0;
}

考虑不周,对角线 11 22 33 及 13 31

你不觉得你很呆么
for(i=0;i<3;i++)
s += a[i][i];
不就可以了么?干嘛要两个循环还判断

就你的代码,缺大括号

 for(i=0;i<3;i++)
{for(j=0;j<3;j++)
if(i==j) printf("%d",a[i][j]);
s=s+a[i][j];}
改成
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
if(i==j) {printf("%d",a[i][j]);  //if这里需要用大括号包括下面s+a[i][j],不然,if只涵盖pring
s=s+a[i][j];}}

danielinbiti 人说的是对的,你缺少了括号,所以计算出来的是错的