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

已知程式如下,下列敘述何者正確? #include<stdio.h> #include<iostream> main() { char n1[10], n2[10]; gets(n1); gets(n2); if (n1 == n2) printf("YES"); else printf("NO\n"); system("PAUSE"); }

A若輸入兩個字串"Alice"與"Alice",則輸出 YES
B若輸入兩個字串"Alice"與"Alice",則輸出NO 並跳行正確答案
C若輸入兩個字串"Alice"與"Kent",則輸出 YES
D編譯時出現錯誤訊息
答案與詳解
B
正確答案
C 語言中 n1 == n2 比較的是兩個陣列的位址,位址必不相同,所以永遠輸出 NO 並換行。

為什麼答案是 B

n1 與 n2 是兩塊獨立配置的 char 陣列,位址絕不相同,因此 n1==n2 恆為 false,進入 else 分支輸出「NO\n」並換行,正確。

考點:字串比較陷阱考點:指標位址比較考點:誤判輸出考點:編譯合法性
載入中…

計算機概要 相關題目

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

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

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