#include <stdio.h>
int main()
{
int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
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];
}
else if(j-i=1||i-j=1 )
{
sum +=arr[i][j];
}
}
}
printf("对角线元素之和是:%d\n",sum);
return 0;
}
else if(j-i=1||i-j=1 )这一句你的意思应该是j-i等于1吧?
在C语言里“=”是“赋值”的意思,j-i=1是把1这个值赋给j-i作为结果
“==”才是“等于”的意思,改成:else if(j-i==1||i-j==1 )即可