首先說(shuō)一下, 這道題目的答案是:C
創(chuàng)新互聯(lián)專(zhuān)注于曲周網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供曲周營(yíng)銷(xiāo)型網(wǎng)站建設(shè),曲周網(wǎng)站制作、曲周網(wǎng)頁(yè)設(shè)計(jì)、曲周網(wǎng)站官網(wǎng)定制、小程序定制開(kāi)發(fā)服務(wù),打造曲周網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供曲周網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
接下來(lái)我們了解下?scanf (...) 函數(shù)
函數(shù)原型 :
int?scanf(const?char?*?restrict?format,...);
1、函數(shù) scanf() 是從標(biāo)準(zhǔn)輸入流stdin (標(biāo)準(zhǔn)輸入設(shè)備,一般指向鍵盤(pán))中讀內(nèi)容的通用子程序,可以說(shuō)明的格式讀入多個(gè)字符,并保存在對(duì)應(yīng)地址的變量中。
2、函數(shù)的第一個(gè)參數(shù)是格式字符串,它指定了輸入的格式,并按照格式說(shuō)明符解析輸入對(duì)應(yīng)位置的信息并存儲(chǔ)于可變參數(shù)列表中對(duì)應(yīng)的指針?biāo)肝恢谩C恳粋€(gè)指針要求非空,并且與字符串中的格式符一一順次對(duì)應(yīng)。
返回值 :
scanf函數(shù)返回成功讀入的數(shù)據(jù)項(xiàng)數(shù),讀入數(shù)據(jù)時(shí)遇到了“文件結(jié)束”則返回EOF。
如:scanf("%d?%d",a,b);
1、函數(shù)返回值為int型。如果a和b都被成功讀入,那么scanf的返回值就是2;
2、如果只有a被成功讀入,返回值為1;
3、如果a和b都未被成功讀入,返回值為0;
4、如果遇到錯(cuò)誤或遇到end of file,返回值為EOF。end of file為Ctrl+z 或者Ctrl+d。
由上面的知識(shí)點(diǎn)可以,輸入位置的變量應(yīng)該是要寫(xiě)成指針類(lèi)型的(表示取地址)。
int 類(lèi)型取址是用的是n,? 而char c[5]是數(shù)組類(lèi)型,其地址本身就是 c(同時(shí)也是數(shù)組名)。
如果以上對(duì)你有幫助,請(qǐng)采納一下, 謝謝。
1)輸入單個(gè)字符:getc,getchar,getch(不會(huì)在屏幕顯示輸入字符)
2)
輸出單個(gè)字符:putc
3)
輸入一串字符(可以有空格,Tab
等):
gets
4)
輸出一串字符(可以有空格,Tab
等):
puts
5)
標(biāo)準(zhǔn)輸入:scanf(可以輸入數(shù)字,字符,字符串等。輸入以空白字符分割)
6)
標(biāo)準(zhǔn)輸出:printf(可以格式花輸出數(shù)字,字符,字符串等。)
文件輸入輸出:
在上面的輸入輸出函數(shù)(除了
getchar,getch)前面加上
f,比如fgetc,fputc,fscanf,fprintf,就是文件輸入輸出函數(shù)了。
2.putchar() getchar() 輸出輸入函數(shù)只針對(duì)單個(gè)字符的操作。3.puts(),gets() 輸出輸入函數(shù)可以單個(gè)字符操作(但是功能有限的),主要是針對(duì)字符串操作。 下面我們定義int a用scanf("%d",a)可以獲取整型a的值,a=getchar(),gets(a)無(wú)法從鍵盤(pán)獲取數(shù)字用printf("%d",a)可以打印數(shù)字a的值,putchar(a),puts(a)沒(méi)法打印數(shù)字方面:printf()和scanf()勝char a用scanf("%c",a) 可以獲取字符a的值,用a=getchar()能獲取a的值,用gets(a)不能獲取用printf("%c",a)可以打印字符a的值 用a=getchar()可以打印a的值,用puts(a)不能打印字符方面:getchar()和putchar()第1 scanf()和printf()第2 gets和puts()敗補(bǔ)充:puts()和gets()能接收和打印單個(gè)字符只限制變量是數(shù)組變量例如 char a[50]; gets(a); put(a);你輸入一個(gè)字符就會(huì)打印一個(gè)字符但如果是字符變量 char a='x'; char a; puts(a); 或 gets(a); puts(a);就無(wú)法運(yùn)行char a[50]用scanf("%s",a)能獲取數(shù)組a的值,用a=getchar()無(wú)法獲取,用gets(a)能獲取a的值用printf("%s",a)能打印數(shù)組a的值 用putchar(a)無(wú)法打印,用puts(a)能打印a的值字符串(數(shù)組)方面:gets()和puts()第一,scanf()和printf()第2,getchar()和putchar()敗可見(jiàn)scanf()和printf()什么都能實(shí)現(xiàn),但對(duì)字符和字符串操作沒(méi)有其他兩種好getchar()和putchar()對(duì)字符操作優(yōu)勢(shì)明顯,但不能操作數(shù)字變量,字符數(shù)組變量gets()和puts()對(duì)字符串操作優(yōu)勢(shì)明顯,但也不能操作數(shù)字變量,字符變量scanf()和printf()格式輸入輸出能同時(shí)按格式一起輸入輸出字符,數(shù)字,字符串這是其他兩種不能比的所以程序以scanf()和printf()為主,其他兩種作為輔助,發(fā)揮各自的長(zhǎng)處。最后來(lái)個(gè)總結(jié),用程序表示#include stdio.hmain(){ char a,b[50]; printf("請(qǐng)輸入第一個(gè)字符:\n"); scanf(" %c",a); getchar(); //獲取前面的回車(chē) printf("第一個(gè)的字符為:%c\n",a); printf("請(qǐng)輸入第二個(gè)字符:\n"); a=getchar(); printf("第二個(gè)字符為:"); putchar(a); putchar('\n'); printf("請(qǐng)輸入第一個(gè)字符串:\n"); scanf(" %s",b); getchar(); //獲取前面的回車(chē) printf("第一個(gè)的字符為:%s\n",b); puts("請(qǐng)輸入第二個(gè)字符串:"); gets(b); puts("第二個(gè)字符串為:"); puts(b); }
scanf 函數(shù)最主要的用法是:
scanf("輸入控制符", 輸入?yún)?shù));
功能:將從鍵盤(pán)輸入的字符轉(zhuǎn)化為“輸入控制符”所規(guī)定格式的數(shù)據(jù),然后存入以輸入?yún)?shù)的值為地址的變量中。
用scanf()函數(shù)以%s格式讀入的數(shù)據(jù)不能含有空白符時(shí),所有空白符都被當(dāng)做數(shù)據(jù)結(jié)束的標(biāo)志。所以題中函數(shù)輸出的值只有空格前面的部分。
如果想要輸出包括空格在內(nèi)的所有數(shù)據(jù),可以使用gets()函數(shù)讀入數(shù)據(jù)。gets()函數(shù)的功能是讀取字符串,并存放在指定的字符數(shù)組中,遇到換行符或文件結(jié)束標(biāo)志時(shí)結(jié)束讀入。換行符不作為讀取串的內(nèi)容,讀取的換行符被轉(zhuǎn)換為字符串結(jié)束標(biāo)志'\0'。
擴(kuò)展資料:
使用scanf()函數(shù)需要注意的問(wèn)題:
1.對(duì)于字符串?dāng)?shù)組或字符串指針變量,由于數(shù)組名可以轉(zhuǎn)換為數(shù)組和指針變量名本身就是地址,因此使用scanf()函數(shù)時(shí),不需要在它們前面加上""操作符。
2.可以在格式化字符串中的"%"各格式化規(guī)定符之間加入一個(gè)整數(shù),表示任何讀操作中的最大位數(shù)。
3.scanf函數(shù)中沒(méi)有類(lèi)似printf的精度控制。
如:scanf("%5.2f",a); 是非法的。不能企圖用此語(yǔ)句輸入小數(shù)為2位的實(shí)數(shù)。
4.scanf中要求給出變量地址,如給出變量名則會(huì)出錯(cuò)
如:scanf("%d",a);是非法的,應(yīng)改為scanf("%d",a);才是合法的。
5.在輸入多個(gè)數(shù)值數(shù)據(jù)時(shí),若格式控制串中沒(méi)有非格式字符作輸入數(shù)據(jù)之間的間隔,則可用空格,TAB或回車(chē)作間隔。
C編譯在碰到空格,TAB,回車(chē)或非法數(shù)據(jù)(如對(duì)“%d”輸入“12A”時(shí),A即為非法數(shù)據(jù))時(shí)即認(rèn)為該數(shù)據(jù)結(jié)束。
6.在輸入字符數(shù)據(jù)(%c)時(shí),若格式控制串中無(wú)非格式字符,則認(rèn)為所有輸入的字符均為有效字符。
參考資料:
百度百科-scanf()函數(shù)
百度百科-gets()函數(shù)
(3)輸入一個(gè)實(shí)數(shù)類(lèi)型,說(shuō)白了就是小數(shù),當(dāng)然整數(shù)也是支持的,存儲(chǔ)為實(shí)數(shù)類(lèi)型
(4)輸入一個(gè)實(shí)數(shù)類(lèi)型并加上一個(gè)回車(chē),說(shuō)白了就是小數(shù),當(dāng)然整數(shù)也是支持的并加上一個(gè)回車(chē),存儲(chǔ)為實(shí)數(shù)類(lèi)型
網(wǎng)頁(yè)標(biāo)題:c語(yǔ)言輸入句子的函數(shù),c語(yǔ)言數(shù)據(jù)的輸入函數(shù)是什么
URL網(wǎng)址:http://aaarwkj.com/article4/hsoeoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、服務(wù)器托管、小程序開(kāi)發(fā)、虛擬主機(jī)、標(biāo)簽優(yōu)化、軟件開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)