为什么不对?运行失败
#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];
}
}
sum = sum + arr[0][2]+arr[2][0];
printf("对角线元素之和是:%d\n",sum);
return 0;
}这个是按你的想法写的 后面sum = sum + arr[0][2]+arr[2][0];是把缺少的哪两个元素补上 不过这是个笨办法只适用于知道是哪个 并且元素少的情况下
我也是新手 我说说我的看法
我用软件试了下 按你的没有错误不过也没有值
我的想法是 return sum;这个去掉 不需要返回值 毕竟不是函数 也不是本地变量 return 出口尽量要少
同时你这个只算了一个对角线的元素 还少2个元素 arr[0][2],arr[2][0];
这个对角线和是左对角线和右对角线之和