作者a33445500 (能登かわいいよ能登)
看板Examination
標題Re: [考題] C語言
時間Sun Dec 9 14:25:28 2012
※ 引述《jojonina (努力)》之銘言:
: 98身心障礙
: 求以下執行結果
: int i, j=2;
: i=(j=3) && 1 ;
判斷i是否等於true前 先注意C語言中的運算順序
寫成這樣 i=((j=3) && 1 ) 或許比較可以看出他在語言中運算的順序
由左至右 括號先運算 (j = 3) 不同於(j > 3)或( j < 3)這類的邏輯判斷
前面推文也有人說了 非0就是true
所以經過上面的運算後會變成 i = ( 1 && 1) 即是true 以下類推
: printf("%d %d \ n" , i, j);
1 3
: i=-1 || (j=5);
: printf ("%d %d \n", i, j);
1 3
: i=0 || (j=5);
: printf("%d %d\n", i , j);
1 5
: 這題 該如何下手呢?? 我知先用 邏輯運算子 判斷 true 或 false
的確是先用邏輯運算判斷true或false 判斷結果true的話電腦會回1;false會回0
這三題i值判斷都是true 所以都是1
j值都已經給了:第一題j=3 ; 第二題||運算 前一篇推文提到 (-1)已為true
不再看後方判斷 ; 第三題 j=5
: 然後 呢??
: 請高手 指點 非常謝謝
對C語言還有問題的話可以去C語言板,高手眾多
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.160.229.144
→ courts:剛去翻高X的講義,解答為:1 3, 1 3, 1 5 12/09 17:15
※ 編輯: a33445500 來自: 1.160.229.144 (12/09 18:14)
→ a33445500:已修正 感謝提醒 12/09 18:15