溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

c語言的輸入函數(shù)

發(fā)布時間:2020-09-08 11:19:26 來源:億速云 閱讀:138 作者:小新 欄目:編程語言

小編給大家分享一下c語言的輸入函數(shù),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

c語言的輸入函數(shù)有:1、【scanf()】函數(shù)返回成功賦值的數(shù)據(jù)項數(shù),讀到文件末尾出錯時則返回EOF;2、getchar有一個int型的返回值,當(dāng)程序調(diào)用getchar時,程序就等著用戶按鍵。

c語言的輸入函數(shù)

c語言的輸入函數(shù)有:

1、scanf的返回值

scanf()函數(shù)返回成功賦值的數(shù)據(jù)項數(shù),讀到文件末尾出錯時則返回EOF。

如:

scanf("%d%d", &a, &b);

如果a和b都被成功讀入,那么scanf的返回值就是2

如果只有a被成功讀入,返回值為1

如果a和b都未被成功讀入,返回值為0

如果遇到錯誤或遇到end of file,返回值為EOF

且返回值為int型

空白符:空白字符會使scanf()函數(shù)在讀操作中略去輸入中的一個或多個空白字符。

非空白符:一個非空白字符會使scanf()函數(shù)在讀入時剔除掉與這個非空白字符相同的字符。

使用scanf函數(shù)時應(yīng)該注意的事項

(1) 對于字符串?dāng)?shù)組或字符串指針變量,由于數(shù)組名和指針變量名本身就是地址,因此使用scanf()函數(shù)時,不需要在它們前面加上"&"操作符。

(2) 可以在格式化字符串中的"%"各格式化規(guī)定符之間加入一個整數(shù),表示任何讀操作中的最大位數(shù)。

(3) scanf()函數(shù)中沒有精度控制。

如: scanf("%5.2f",&a); 是非法的。不能企圖用此語句輸入小數(shù)為2位的實數(shù)。

(4) scanf中要求給出變量地址,如給出變量名則會出錯

如 scanf("%d",a);是非法的,應(yīng)改為scnaf("%d",&a);才是合法的。

(5) 在輸入多個數(shù)值數(shù)據(jù)時,若格式控制串中沒有非格式字符作輸入數(shù)據(jù)之間的間隔則可用空格,TAB或回車作間隔。

C編譯在碰到空格,TAB,回車或非法數(shù)據(jù)(如對“%d”輸入“12A”時,A即為非法數(shù)據(jù))時即認(rèn)為該數(shù)據(jù)結(jié)束。

(6) 在輸入字符數(shù)據(jù)(%c)時,若格式控制串中無非格式字符,則認(rèn)為所有輸入的字符均為有效字符。

(7) 如果格式控制串中有非格式字符則輸入時也要輸入該非格式字符。

2、getchar

getchar有一個int型的返回值.當(dāng)程序調(diào)用getchar時.程序就等著用戶按鍵.用戶輸入的字符被存放在鍵盤緩沖區(qū)中.直到用戶按回車為止(回 車字符也放在緩沖區(qū)中).當(dāng)用戶鍵入回車之后,getchar才開始從stdin流中每次讀入一個字符.getchar函數(shù)的返回值是用戶輸入的第一個字 符的ASCII碼,如出錯返回-1,且將用戶輸入的字符回顯到屏幕.如用戶在按回車之前輸入了不止一個字符,其他字符會保留在鍵盤緩存區(qū)中,等待后續(xù) getchar調(diào)用讀取.也就是說,后續(xù)的getchar調(diào)用不會等待用戶按鍵,而直接讀取緩沖區(qū)中的字符,直到緩沖區(qū)中的字符讀完為后,才等待用戶按 鍵.

3、getch

getch與getchar基本功能相同,差別是getch直接從鍵盤獲取鍵值,不等待用戶按回車,只要用戶按一個鍵,getch就立刻返回, getch返回值是用戶輸入的ASCII碼,出錯返回-1.輸入的字符不會回顯在屏幕上.getch函數(shù)常用于程序調(diào)試中,在調(diào)試時,在關(guān)鍵位置顯示有關(guān) 的結(jié)果以待查看,然后用getch函數(shù)暫停程序運行,當(dāng)按任意鍵后程序繼續(xù)運行

4、gets

功能:從stdin流中讀取字符串,直至接受到換行符或EOF時停止,并將讀取的結(jié)果存放在buffer指針?biāo)赶虻淖址麛?shù)組中。換行符不作為讀取串的內(nèi)容,讀取的換行符被轉(zhuǎn)換為null值,并由此來結(jié)束字符串。

返回值:讀入成功,返回與參數(shù)buffer相同的指針;讀入過程中遇到EOF(End-of-File)或發(fā)生錯誤,返回NULL指針。所以在遇到返回值為NULL的情況,要用ferror或feof函數(shù)檢查是發(fā)生錯誤還是遇到EOF。

以上是c語言的輸入函數(shù)的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI