問題詳情

26 執行下列 C 語言程式後產生的輸出為何? #include < stdio.h > main() { int a = 0, b = 0; if( ((a=1) < b) && ((b=2) <  a) ) { a += 10; b += 10; }printf(“%d, %dn”, a, b);}  (a)11,12 (b)11,10 (c)1,2 (d)1,0

參考答案

答案:D
難度:困難0.279793
統計:A(26),B(39),C(50),D(54),E(0)

用户評論

Yu Han Lin】評論

運算 x && y ,y 只在 x 為 true 時才進行評估a=1會執行但因為a<b不成立, 所以後面的判斷式沒有再執行的必要, 因此b還是0而非2答案D

何冠霖】評論

上機測試的確是(D)

imitation】評論

這題可能要送分,只是沒人提出釋疑?不同編譯器可能會執行C或D選項