问答详情
源自:6-11 多维数组的遍历

运行失败,错误在哪?

为什么不对?运行失败

提问者:长风3 2017-10-18 22:20

个回答

  • QLoveyourself
    2017-11-09 21:31:01

    #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];是把缺少的哪两个元素补上 不过这是个笨办法只适用于知道是哪个 并且元素少的情况下

  • QLoveyourself
    2017-11-09 21:14:03

    我也是新手 我说说我的看法

    我用软件试了下 按你的没有错误不过也没有值

    我的想法是 return sum;这个去掉 不需要返回值 毕竟不是函数 也不是本地变量 return 出口尽量要少  

    同时你这个只算了一个对角线的元素 还少2个元素 arr[0][2],arr[2][0];

  • 云山雾迷
    2017-10-18 23:24:05

    这个对角线和是左对角线和右对角线之和