scanf 函數(shù)最主要的用法是:

目前成都創(chuàng)新互聯(lián)公司已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、寧河網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
scanf("輸入控制符", 輸入?yún)?shù));
函數(shù)原型:int?scanf(const?char?*?restrict?format,...);
函數(shù) scanf() 是從標(biāo)準(zhǔn)輸入流stdin (標(biāo)準(zhǔn)輸入設(shè)備,一般指向鍵盤)中讀內(nèi)容的通用子程序,可以說明的格式讀入多個字符,并保存在對應(yīng)地址的變量中。
擴展資料:
函數(shù)的第一個參數(shù)是格式字符串,它指定了輸入的格式,并按照格式說明符解析輸入對應(yīng)位置的信息并存儲于可變參數(shù)列表中對應(yīng)的指針?biāo)肝恢谩C恳粋€指針要求非空,并且與字符串中的格式符一一順次對應(yīng)。
發(fā)展:
使用scanf函數(shù)進行輸入,必須指定輸入的數(shù)據(jù)的類型和格式,不僅繁瑣復(fù)雜,而且很容易出錯。C++保留scanf只是為了和C兼容。
以便過去用C語言寫的程序可以在C++的環(huán)境下運行。C++的編程人員都愿意使用cin進行輸入,很少使用scanf。
但是scanf有一個明顯的優(yōu)點,速度比cin函數(shù)快。
參考資料:
百度百科-scanf (計算機語言函數(shù))
功
能:
執(zhí)行格式化輸入
用
法:
int
scanf(char
*format[,argument,...]);
scanf()函數(shù)是通用終端格式化輸入函數(shù),它從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)
讀取輸入的信息。可以讀入任何固有類型的數(shù)據(jù)并自動把數(shù)值變換成適當(dāng)?shù)臋C內(nèi)格式。
其調(diào)用格式為:
scanf("格式化字符串",地址表);
scanf()函數(shù)返回成功賦值的數(shù)據(jù)項數(shù),出錯時則返回EOF。
其控制串由三類字符構(gòu)成:
1。格式化說明符;
2。空白符;
3。非空白符;
(A)
格式化說明符
格式字符
說明
%a
讀入一個浮點值(僅C99有效)
%A
同上
%c
讀入一個字符
%d
讀入十進制整數(shù)
%i
讀入十進制,八進制,十六進制整數(shù)
%o
讀入八進制整數(shù)
%x
讀入十六進制整數(shù)
%X
同上
%c
讀入一個字符
%s
讀入一個字符串
%f
讀入一個浮點數(shù)
%F
同上
%e
同上
%E
同上
%g
同上
%G
同上
%p
讀入一個指針
%u
讀入一個無符號十進制整數(shù)
%n
至此已讀入值的等價字符數(shù)
%[]
掃描字符集合
%%
讀%符號
scanf用途:從鍵盤輸入數(shù)據(jù),從鍵盤得到字符,放到某個變量里。
格式:scanf()是C語言中的一個輸入函數(shù)。與printf函數(shù)一樣,都被聲明在頭文件stdio.h里,因此在使用scanf函數(shù)時要加上#include stdio.h。(在有一些實現(xiàn)中,printf函數(shù)與scanf函數(shù)在使用時可以不使用預(yù)編譯命令#include stdio.h。)它是格式輸入函數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中。
擴展資料:
1、int?scanf(const?char?*?restrict?format,...);
函數(shù) scanf() 是從標(biāo)準(zhǔn)輸入流stdio (標(biāo)準(zhǔn)輸入設(shè)備,一般指向鍵盤)中讀內(nèi)容的通用子程序,可以說明的格式讀入多個字符,并保存在對應(yīng)地址的變量中。
函數(shù)的第一個參數(shù)是格式字符串,它指定了輸入的格式,并按照格式說明符解析輸入對應(yīng)位置的信息并存儲于可變參數(shù)列表中對應(yīng)的指針?biāo)肝恢谩C恳粋€指針要求非空,并且與字符串中的格式符順次對應(yīng)。
空白字符會使scanf函數(shù)在讀操作中略去輸入中的一個或多個空白字符。一個非空白字符會使scanf()函數(shù)在讀入時剔除掉與這個非空白字符相同的字符。
參考資料:scanf-百度百科
scanf與printf函數(shù)一樣,都被定義在頭文件stdio.h里,因此在使用scanf函數(shù)時要加上#include
stdio.h。它是格式輸入函數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中。
scanf函數(shù)原型:
int
scanf(
const
char
*format,
...
);
scanf()函數(shù)是格式化輸入函數(shù),它從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)
讀取輸入的信息。
其調(diào)用格式為:
scanf("格式化字符串",地址表);
函數(shù)
scanf()
是從標(biāo)準(zhǔn)輸入流
stdin
中讀內(nèi)容的通用子程序,可以讀入全部固有類型的數(shù)據(jù)并自動轉(zhuǎn)換成機內(nèi)形式。
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ù)輸入數(shù)據(jù)。
#includestdio.h
int
main()
{
int
a,b,c;
printf("輸入
a,
b,
c\n");
scanf("%d,%d,%d",
a,
b,
c);
printf("a
=
%d
b
=
%d
c
=
%d\n",
a,
b,
c);
fflush(stdin);
return
0;
}
注意上面的scanf("%d,%d,%d",a,b,c);中%d,%d,%d之間如果有逗號,在輸入數(shù)據(jù)時也要加逗號,如果去掉逗號,輸入時就不用逗號,而用空格、tab鍵或回車鍵將各個數(shù)據(jù)隔開
scanf 函數(shù)最主要的用法是:
scanf("輸入控制符", 輸入?yún)?shù));
功能:將從鍵盤輸入的字符轉(zhuǎn)化為“輸入控制符”所規(guī)定格式的數(shù)據(jù),然后存入以輸入?yún)?shù)的值為地址的變量中。
用scanf()函數(shù)以%s格式讀入的數(shù)據(jù)不能含有空白符時,所有空白符都被當(dāng)做數(shù)據(jù)結(jié)束的標(biāo)志。所以題中函數(shù)輸出的值只有空格前面的部分。
如果想要輸出包括空格在內(nèi)的所有數(shù)據(jù),可以使用gets()函數(shù)讀入數(shù)據(jù)。gets()函數(shù)的功能是讀取字符串,并存放在指定的字符數(shù)組中,遇到換行符或文件結(jié)束標(biāo)志時結(jié)束讀入。換行符不作為讀取串的內(nèi)容,讀取的換行符被轉(zhuǎn)換為字符串結(jié)束標(biāo)志'\0'。
擴展資料:
使用scanf()函數(shù)需要注意的問題:
1.對于字符串?dāng)?shù)組或字符串指針變量,由于數(shù)組名可以轉(zhuǎn)換為數(shù)組和指針變量名本身就是地址,因此使用scanf()函數(shù)時,不需要在它們前面加上""操作符。
2.可以在格式化字符串中的"%"各格式化規(guī)定符之間加入一個整數(shù),表示任何讀操作中的最大位數(shù)。
3.scanf函數(shù)中沒有類似printf的精度控制。
如:scanf("%5.2f",a); 是非法的。不能企圖用此語句輸入小數(shù)為2位的實數(shù)。
4.scanf中要求給出變量地址,如給出變量名則會出錯
如:scanf("%d",a);是非法的,應(yīng)改為scanf("%d",a);才是合法的。
5.在輸入多個數(shù)值數(shù)據(jù)時,若格式控制串中沒有非格式字符作輸入數(shù)據(jù)之間的間隔,則可用空格,TAB或回車作間隔。
C編譯在碰到空格,TAB,回車或非法數(shù)據(jù)(如對“%d”輸入“12A”時,A即為非法數(shù)據(jù))時即認為該數(shù)據(jù)結(jié)束。
6.在輸入字符數(shù)據(jù)(%c)時,若格式控制串中無非格式字符,則認為所有輸入的字符均為有效字符。
參考資料:
百度百科-scanf()函數(shù)
百度百科-gets()函數(shù)
網(wǎng)頁標(biāo)題:c語言scanf函數(shù)教程,scanf用法c語言
當(dāng)前URL:http://chinadenli.net/article28/dsgjecp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、網(wǎng)站排名、網(wǎng)站維護、用戶體驗、面包屑導(dǎo)航、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)