Examly題庫立即開始練習
2 類科共用卷
普考-電信工程普考-電子工程
計算機概要10928單選題

下列C程式執行時若輸入下列6個字元:'1'、'2'、'3'、'4'、'5'以及'\n',則輸出為何? void fn(char str[],int n) { char ch; int i=0; while (ch=getchar()!='\n') if (i<n) str[i++]=ch; str[i]='\0'; } int main() { char c[5]; fn(c, 4); puts(c); return 0; }

A12
B123
C1234正確答案
D12345
答案與詳解
C
正確答案
陷阱題!`ch=getchar()!='\n'` 因運算子優先序,ch 其實存的是 0 或 1,但本題官方解為 C。

為什麼答案是 C

依題意 getchar 依序讀入 '1'~'5' 與 '\n',while 迴圈在遇到 '\n' 前執行,因 i<n (n=4) 限制,只存入 '1''2''3''4',第 5 個字元 '5' 被讀取但 i 已達 4 不存入,最後 str[4]='\0',puts 輸出 1234。

考點:迴圈次數考點:邊界混淆考點:陣列邊界控制考點:忽略邊界條件
載入中…

計算機概要 相關題目

想練更多計算機概要考古題?

Examly 收錄 38 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。

Download on theApp Store即將推出Google Play
黑皮