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

若執行以下 C 語言撰寫之程式,下列敘述何者正確? #include <stdio.h> #include <iostream> int main() { int a, b; scanf("%d %d ",a, b); printf("%d,%d\n", a, b); system("PAUSE"); }

A若輸入兩個整數 3 5,則輸出為 3 5 並跳行
B若輸入兩個整數 3 5,則輸出為 3, 5 並跳行
C若輸入兩個整數 3, 5,則輸出為 3 5 並跳行
D即使正確輸入兩個整數,輸出仍無法預期正確答案
答案與詳解
D
正確答案
scanf 傳入 a, b 而非 &a, &b,缺少位址運算子會導致未定義行為,輸出無法預期。

為什麼答案是 D

scanf("%d %d ", a, b) 應為 &a, &b。傳入未初始化的 a、b 值被當成記憶體位址,scanf 會寫入隨機位址,造成未定義行為 (undefined behavior),輸出無法預期。

考點:scanf 語法陷阱考點:格式字串判讀考點:輸入格式匹配考點:未定義行為
載入中…

計算機概要 相關題目

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

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

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