為什么會運行失敗 哪里錯了
#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(arr[0][0]||arr[0][2]||arr=[1][1]||arr=[2][0]||arr=[2][2])
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? sum+=arr[i][j];
? ? ? ? ? ? ? ? }
? ? ? ? }
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
? ? }
? ? printf("對角線元素之和是:%d\n",sum);
? ? return 0;? ??
}
哪里錯了 我搞不明白呀
2019-02-22
?同樣的問題么?那我也把剛剛的回答再發一遍吧。
判斷語句if()括號里的條件表達式寫得不對。你想的是把你全部列出來的元素累加起來,但是實際上if()語句執行的情況是,判斷括號里的表達式的結果是真還是假,因為你寫的是邏輯或,所以只要有一個值不為0那么表達式的結果就是真,那么就會執行if()后面的語句,所以你這樣寫的結果是把所有的數組元素都累加了一遍。
可以觀察對角線元素的下標的特點,一個是行等于列,一個是行加列等于2,所以可以把if()語句寫成這樣:
2019-02-19
if應該是等號==而不是賦值號=