小編給大家分享一下C中scanf()和gets()之間的區別是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
scanf()函數
它用于從標準輸入(鍵盤)讀取輸入(字符,字符串,數字數據)。
它用于讀取輸入,直到遇到空格,換行符或文件結束(EOF)。
例如,請參閱以下代碼:
#include <stdio.h> int main() { char str[20]; printf("enter something\n"); scanf("%s", str); printf("you entered: %s\n", str); return 0; }
這里的輸入將由用戶提供,輸出如下:
輸入: Geeks for Geeks 輸出: Geeks 輸入: Computer science 輸出: Computer
gets()函數
它用于從標準輸入(鍵盤)讀取輸入。它用于讀取輸入,直到遇到換行符或文件結束(EOF)。
#include <stdio.h> int main() { char str[20]; printf("enter something\n"); gets(str); printf("you entered : %s\n", str); return 0; }
這里輸入將由用戶提供如下
輸入: Geeks for Geeks 輸出: Geeks for Geeks 輸入: Computer science 輸出: Computer science
它們之間的主要區別是:
scanf()讀取輸入,直到遇到空格,換行符或文件結束(EOF),而gets()讀取輸入,直到遇到換行符或文件結束(EOF),gets()在遇到空格時不會停止讀取輸入而是將空格作為字符串。scanf可以讀取不同數據類型的多個值,而gets()只能獲取字符串數據。
差異可以表格形式顯示如下:
SCANF() | GETS() |
當scanf()用于讀取字符串輸入時,它會在遇到空格,換行符或文件結束時停止讀取 | 當gets()用于讀取輸入時,它會在遇到換行符或End Of File時停止讀取輸入。 當它將空格視為字符串時,它不會停止讀取遇到空格的輸入。 |
它用于讀取任何數據類型的輸入 | 它僅用于字符串輸入。 |
如何使用scanf()讀取用戶的完整句子
實際上我們可以使用scanf()來讀取整個字符串。例如,我們可以在scanf()中使用%[^ \ n] s來讀取整個字符串。
#include <stdio.h> int main() { char str[20]; printf("Enter something\n"); // Here \n indicates that take the input // until newline is encountered scanf("%[^\n]s", str); printf("%s", str); return 0; }
上面的代碼讀取字符串,直到它遇到換行符。
例子:
輸入: Geeks for Geeks 輸出: Geeks for Geeks 輸入: Computer science 輸出: Computer science
看完了這篇文章,相信你對C中scanf()和gets()之間的區別是什么有了一定的了解,想了解更多相關知識,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!
網站題目:C中scanf()和gets()之間的區別是什么-創新互聯
網頁URL:http://m.2m8n56k.cn/article40/csccho.html
成都網站建設公司_創新互聯,為您提供響應式網站、小程序開發、Google、品牌網站制作、云服務器、網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯