天天看點

《C語言解惑》—— 2.5 Enter鍵打亂scanf的陣腳

本節書摘來自華章出版社《c語言解惑》一 書中的第2章,第2.5節,作者:劉振安 劉燕君,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

【例2.7】假設有如下程式。

當程式運作時,使用如下輸入方式:

12 34 56

abc

将得到什麼輸出結果?

【分析】有人可能認為就是按照輸入的樣子輸出兩行資訊,其實不然。第1行輸入時,給變量a、b和c指派。當回車時,這個回車被作為字元賦給變量c1,後面的字元ab分别賦給變量c2和c3,而輸入的c變成多餘的了。c1裡是回車符,是以程式輸出為

12,34,56

,a,b

如果輸入“12 34 56abc”,則輸出“12,34,56a,b,c”。這等效于如下輸入方式:

12 34

56abc

由此可見,為scanf語句指派時,也要具體問題具體分析,避免亂用Enter鍵。

繼續閱讀