scanf和gets的區別

2021-06-23 01:55:58 字數 517 閱讀 9345

gets函式可以一次接收一行輸入串,其中可以有空格,也就是說空格可以做為字串的一部分輸入.

而scanf函式接收的字串不會含有空格,即遇到字空格時,認為字串輸入結束,也就是說空格是scanf預設的結束符號。

--------------------------------------------

scanf和gets不能混合使用,如果乙個程式中用scanf的話,一般不能再用gets,反之亦然。 1:...

2:gets()輸入字串時,可以包含空格在內的字元,在回車時,自動將字串結束標誌'\0'賦予字元陣列最後乙個元素。scanf函式不能輸入包含空格字元的字串,也就是說空格是scanf預設的結束符號。

3:如果像你在你的程式中提到的只把for迴圈中gets改為scanf的話,在後面該輸入的時候直接跳過的原因是,在結束前乙個scanf輸入時輸入的回車被後乙個gets輸入時接受,也就是說前乙個地方輸入的「資料+回車」分別被兩個地方接受。此種問題會出現在gets和scanf交接處。只需要在程式中統一改為scanf和gets就可以了。

gets和scanf的區別。

寫乙個函式,輸入乙個十六進製制數,輸出相應的是進製數。程式設計如下 include include include void main char t 20 c long htoi char doprintf ninput a hex number gets t printf decimal numb...

gets和scanf的區別

1 gets 函式原型 char gets char str 功能為 從stdin流中讀取字串,直至接受到換行符或eof時停止,並將讀取的結果存放在buffer指標所指向的字元數 組中。換行符不作為讀取串的內容,讀取的換行符被轉換為 0 空字元,並由此來結束字串。注意 不會判斷上限,以回車結束讀取,...

gets和scanf的區別

函式 gets 字元指標 標頭檔案 stdio.h c中 c 不需包含此標頭檔案 原型 char gets char buffer 功能 從stdin流中讀取字串,直至接受到換行符或eof時停止,並將讀取的結果存放在buffer指標所指向的字元陣列中。換行符不作為讀取串的內容,讀取 接受 的換行符被...