在我這個程序中: if((i==j)||(i+j==2)),這樣寫的話,中間那個數會不會重復加?
??
#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; ? ?
}
2015-11-20
不會,當i=1,j=1的時候,它只不過同時滿足i=j和i+j=2而已,但只運行了一次,并未重復加