在我这个程序中: if((i==j)||(i+j==2)),这样写的话,中间那个数会不会重复加?

来源:6-11 多维数组的遍历

BossZn

2015-11-19 22:16

  

#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)||(i+j==2))

       sum+=arr[i][j];

       }

       

       

     

    }


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

    return 0;    

}


写回答 关注

1回答

  • Toxic憧憬
    2015-11-20 00:12:21
    已采纳

    不会,当i=1,j=1的时候,它只不过同时满足i=j和i+j=2而已,但只运行了一次,并未重复加

    BossZn

    非常感谢!

    2015-11-21 09:08:26

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926900 学习 · 21532 问题

查看课程

相似问题