scanf和gets在字串中的區別

2021-10-10 07:08:22 字數 303 閱讀 5778

用scanf不是不顯示空格,

而是用scanf接收字串的話,在串首遇到空格的話,跳過,繼續尋找下乙個非空格字元,在串中遇到空格時,結束字串的輸入。所以如果使用者輸入" abcd efg"的話,scanf取得的字串為"abcd"。而gets取得字串時,是在遇到eof(串尾)時停止,所以不存在這個問題。

#include

#define n 100void ji(char str[n])

printf("%d %d %d %d",character,number,space,others);}

int main()

gets和scanf輸入字串的比較

scanf 函式和gets 函式都可用於輸入字串,但在功能上有區別。若想從鍵盤上輸入字串 hi hello 則應該使用 gets 函式。gets可以接收空格 而scanf遇到空格 回車和tab鍵都會認為輸入結束,所有它不能接收空格。char string 15 gets string 遇到回車認為輸...

字串輸入gets與scanf的區別

gets 和scanf 的區別 相同點 在讀入字串之後系統自動在字串後加上 0 不同點 gets 只能一次輸入乙個字串,可以讀入包含空格和tab的全部字元,直到遇到回車為止,而scanf 遇到 tab 空格等字元就會停止輸入。關於eof scanf d n eof 相當於 scanf d n eof...

scanf和gets獲取字串時的區別

在c語言中,能構獲取字串的函式至少有兩個 1.scanf 所在標頭檔案 stdio.h 接受字串時 scanf s 字元陣列名或指標 2.gets 所在標頭檔案 stdio.h 語法 gets 字元陣列名或指標 兩者在接受字串時 1.不同點 scanf不能接受空格 製表符tab 回車等 而gets能...