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

输出为何是27?

#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%2==0){

           if(j%2==0)

           {

               sum=sum+arr[i][j];

           }

       }

       if(i%2!=0)

       {

           if(j%2!=0)

           {

               sum=sum+arr[i][j];

           }

       }

    }

    printf("对角线元素之和是:%d\n",sum);

    return 0;    

}


提问者:Angel帝豪 2015-05-19 13:32

个回答

  • 一叶知秋zxw
    2015-08-05 00:41:57

    在第二重循环里少了一对{}

  • 一叶知秋zxw
    2015-08-05 00:34:28

    #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%2==0){

               if(j%2==0)

               {

                   sum=sum+arr[i][j];

               }

    }

      if(i%2!=0)

      {

      if(j%2!=0)

      {

      sum=sum+arr[i][j];

      }

      }


      }

        }

        printf("对角线元素之和是:%d\n",sum);

        return 0;    

    }


  • apprentice1104
    2015-05-19 13:49:23

    按照你的代码应该是输出25,没看出来哪里有问题