12 執行下列 C 語言程式碼,輸出為何?
(A) 2
(B) 3
(C) 20
(D) 23
答案:登入後查看
統計: A(2), B(7), C(12), D(4), E(0) #3966676
統計: A(2), B(7), C(12), D(4), E(0) #3966676
詳解 (共 1 筆)
#7448877
執行流程解析
-
初始值:
-
p = 0
-
q = 20 (這是外層的 q)
-
-
進入 while 迴圈:條件 p < 3 成立。
-
在迴圈內宣告 int q = 0; → 這是區域變數 q,遮蔽了外層的 q。
-
執行 p++, q++; → 每次迴圈:p 增加 1,區域 q 由 0 變 1。
-
迴圈結束後,區域 q 消失。外層的 q 仍然保持原值 20。
-
-
迴圈執行三次:
-
第一次:p=1,區域 q=1 (結束後消失)。
-
第二次:p=2,區域 q=1 (結束後消失)。
-
第三次:p=3,區域 q=1 (結束後消失)。
-
-
迴圈結束:p=3,外層 q 仍然是 20。
-
輸出:print("%d", q); → 印出外層的 q 值 20。
ㅤㅤ
✅ 程式輸出結果:20
0
0