這為什么結果是8
#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==3||i+j==1)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? } ??
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? sum += arr[i][j];
? ? ? ? ? ? }
? ? }
? ? printf("對角線元素之和是:%d\n",sum);
? ? return 0; ? ?
}
2018-07-16
emmmmmmmmmmm...........
你的if邏輯不太對??
數組的下標是從0開始的
所以這個數組的下標是這樣的
(i,j)
(0,0)(0,1)(0,2)
(1,0)(1,1)(1,2)
(2,0)(2,1)(2,2)
對角線分別是(0,0)?(1,1)?(2,2)? ? ? ? ?(0,2)(1,1)(2,0)
所以對角線是if(i + j == 2 || i == j)才是哦