民國110年 普通考試 電子工程 計算機概要
第26題
執行以下的C 程式,並輸入“aabbccd”,程式的輸出為何?#include <stdio.h>int main() {char token;int n=0;…
題目
執行以下的C 程式,並輸入“aabbccd”,程式的輸出為何?#include <stdio.h>int main() {char token;int n=0;for (token=getchar(); token!='d'; token=getchar()){if (token=='a' || token == 'b')continue;n++;}printf("%d", n);} A. 2 B. 4 C. 6 D. 7
官方答案
- 答案:A. 2
解析
for 迴圈以 getchar() 逐字讀入,continue 會跳過本次迴圈其餘敘述,直接執行遞增式 token=getchar() 讀下一個字元。輸入 "aabbccd" 時,前四個字元 a、a、b、b 都符合條件而 continue,不計數;接著讀到 c、c 各使 n 加 1,n 成為 2;再讀到 d 時,條件 token!='d' 不成立,迴圈結束。因此輸出 2。B、C、D 是把 a 或 b 也計入,或把終止字元 d 一併計數所致。答案為 A。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。
官方資料
答案以考選部公告之測驗式試題標準答案 PDF 為準。