C中scanf()和gets()之間的區(qū)別是什么

小編給大家分享一下C中scanf()和gets()之間的區(qū)別是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目成都網(wǎng)站設計、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元額爾古納做網(wǎng)站,已為上家服務,為額爾古納各地企業(yè)和個人服務,聯(lián)系電話:028-86922220

scanf()函數(shù)

它用于從標準輸入(鍵盤)讀取輸入(字符,字符串,數(shù)字數(shù)據(jù))。

它用于讀取輸入,直到遇到空格,換行符或文件結束(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()函數(shù)

它用于從標準輸入(鍵盤)讀取輸入。它用于讀取輸入,直到遇到換行符或文件結束(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

它們之間的主要區(qū)別是:

scanf()讀取輸入,直到遇到空格,換行符或文件結束(EOF),而gets()讀取輸入,直到遇到換行符或文件結束(EOF),gets()在遇到空格時不會停止讀取輸入而是將空格作為字符串。scanf可以讀取不同數(shù)據(jù)類型的多個值,而gets()只能獲取字符串數(shù)據(jù)。

差異可以表格形式顯示如下:

SCANF()GETS()
當scanf()用于讀取字符串輸入時,它會在遇到空格,換行符或文件結束時停止讀取當gets()用于讀取輸入時,它會在遇到換行符或End Of File時停止讀取輸入。
當它將空格視為字符串時,它不會停止讀取遇到空格的輸入。
它用于讀取任何數(shù)據(jù)類型的輸入它僅用于字符串輸入。

如何使用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()之間的區(qū)別是什么有了一定的了解,想了解更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

分享名稱:C中scanf()和gets()之間的區(qū)別是什么
標題路徑:http://bm7419.com/article22/gejhjc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、網(wǎng)站收錄網(wǎng)站建設、虛擬主機、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)