【系統公告】頁面上方功能列及下方資訊全面更換新版,舊用戶可再切回舊版。 前往查看

1.計算機原理 2.網路概論題庫下載題庫

上一題
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


答案:登入後觀看
難度: 困難
最佳解!
Yu Han Lin 小六下 (2015/11/12)
運算 x && y ,y 只在 x 為 true 時才進行評估a=1會執.....觀看完整全文,請先登入
8F
Phil(112高普雙榜) 高三上 (2020/02/05)

if( ((a=1) < b) && ((b=2) <  a) )  =>怎麼看都感覺有少什麼東西

寫程式的時候,一個等於和兩個等於的意思差很多耶;

一個等於是判斷true 或false(布林代數)、兩個是判斷值是否跟條件吻合。

9F
109年中華電信已錄取 高三上 (2020/05/15)

if( ((a=1) < b) && ((b=2) <  a) )

這個判斷式要分2部分看

(a=1) < b --->a設定為1且小於b,所以判斷式會是1<0(不成立)

再來比較特別的地方是&&的判斷式,必須前後條件都成立才可以,如果前面不成立後面直接跳出不執行(也就是((b=2) <  a)這段不執行,稱為短路現象)


所以這題會是a=1,然後跳出if判斷式執行後面prientf的程式碼

故a = 1,b = 0



10F
蔡明勳 高三上 (2022/09/30)
6336783e528bb.jpg

26 執行下列 C 語言程式後產生的輸出為何? #include &l..-阿摩線上測驗