民國111年 地方四等 電子工程 計算機概要

第24題

假設已經宣告變數"x"和變數"next"為整數型態,然後執行下列的C 程式。若輸入的內容為"2 1 0",則程式的執行結果為何?for(int x = 3; x…

題目

假設已經宣告變數"x"和變數"next"為整數型態,然後執行下列的C 程式。若輸入的內容為"2 1 0",則程式的執行結果為何?for(int x = 3; x !=0; x = next){scanf("%d", &next);printf("%d:", x);} A. 2: B. 3: C. 3:2:1: D. 3:2:1:0:

官方答案

  • 答案:C. 3:2:1:

解析

for 迴圈每輪先執行 scanf 讀入 next,再 printf 印出本輪的 x,最後才以 x = next 更新。x 初值 3,第一輪讀入 2,印出「3:」,之後 x 變成 2;第二輪讀入 1,印出「2:」,x 變成 1;第三輪讀入 0,印出「1:」,x 變成 0,此時條件 x != 0 不成立而結束。故完整輸出為 3:2:1:,選 C。關鍵在於印出的是「本輪開始時的 x」,本輪讀到的 next 要到下一輪才生效,因此不會印出 0。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料

答案以考選部公告之測驗式試題標準答案 PDF 為準。