#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==3||i+j==1)
{
break;
}
else
{
sum += arr[i][j];
}
}
printf("对角线元素之和是:%d\n",sum);
return 0;
}
emmmmmmmmmmm...........
你的if逻辑不太对
数组的下标是从0开始的
所以这个数组的下标是这样的
(i,j)
(0,0)(0,1)(0,2)
(1,0)(1,1)(1,2)
(2,0)(2,1)(2,2)
对角线分别是(0,0) (1,1) (2,2) (0,2)(1,1)(2,0)
所以对角线是if(i + j == 2 || i == j)才是哦