为什么不对?运行失败
#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];
这个对角线和是左对角线和右对角线之和