久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 詳解格式化輸(shu)入函數scanf

詳解格式化(hua)輸(shu)入函數scanf 時(shi)間:2018-07-27      來源:未知

C語言中常用(yong)的(de)輸(shu)入可以有多種方式(shi),如scanf(),getchar(),gets()。它們(men)的(de)功能(neng)都類似(si)(獲取鍵(jian)盤(pan)輸(shu)入的(de)數(shu)據),但scanf()因功能(neng)使用(yong)、函數(shu)簡單(dan),而深受(shou)編(bian)程(cheng)者喜愛(ai)。

scanf()函數(shu)功能(neng): 執行格式(shi)化輸入(ru)(用戶可以按照指定(ding)格式(shi)輸入(ru)數(shu)據)

scanf()函(han)數原型: int scanf(char *format[,argument,...]);

scanf()從標準輸入設(she)備(通常指鍵盤(pan)) 讀取(qu)輸入的信息(xi),并將讀入任何固有類型的數(shu)(shu)據自動(dong)變換成適當(dang)的機(ji)內格式。其(qi)格式為(wei): scanf("<格式化字符(fu)串>",<地址(zhi)表>);scanf()函數(shu)(shu)返回成功(gong)賦值(zhi)的數(shu)(shu)據項數(shu)(shu),出錯(cuo)時(shi)則返回EOF。例如以(yi)下程(cheng)序

int mian(void)

{

int a;

scanf(“%d”,&a);

return 0;

}

當程序運行到(dao)scanf(“%d”,&a)時會阻塞,等待鍵(jian)盤輸入(ru)。如果我(wo)們在鍵(jian)盤上(shang)按下(xia)“5”、“7”然后回(hui)車(che)(che)了,那么“5”、“7”、回(hui)車(che)(che)鍵(jian)“\n”都被(bei)逐一放入(ru)緩(huan)沖區(qu)里(li),又(you)由于回(hui)車(che)(che)鍵(jian)是特殊的(de)字(zi)符(可實現清除行緩(huan)沖),它先(xian)將(jiang)字(zi)符'\n'添加(jia)到(dao)緩(huan)沖區(qu),隨后便清除緩(huan)沖區(qu) ,將(jiang)其中(zhong)的(de)所有字(zi)符發送到(dao)一個(ge)叫做輸入(ru)列(lie)表的(de)地方 ,scanf函數以及其他標準輸入(ru)函數便會立刻從輸入(ru)列(lie)表中(zhong)獲(huo)取內容。

上(shang)述程序按照(zhao)%d的(de)規則(ze)從輸入列(lie)表中獲(huo)取(qu)字符(fu) ,它(ta)獲(huo)取(qu)了(le)'5'、'7',并且將其(qi)轉變為整(zheng)數57,存入了(le)變量(liang)a中。

如果(guo)我們將程序改為以(yi)下形(xing)式,

int mian(void)

{

char a[10];

scanf(“%s”,a);

return 0;

}

如果我們還(huan)是(shi)(shi)在鍵盤上按下“5”、“7”然后回(hui)車(che)了,那(nei)么“5”、“7”、回(hui)車(che)鍵“\n”還(huan)是(shi)(shi)一樣被逐一放入(ru)緩沖區里;又(you)由(you)于回(hui)車(che)鍵是(shi)(shi)特殊的字符(可實現清除(chu)行緩沖),它先(xian)將字符'\n'添加(jia)到緩沖區,隨后便(bian)清除(chu)緩沖區 ,將其中的所有字符發送到一個叫做輸入(ru)列表的地方(fang) ,scanf函(han)數以及其他標準輸入(ru)函(han)數便(bian)會(hui)立刻從輸入(ru)列表中獲取內容。

程序按(an)照%s的規則從輸入列(lie)表(biao)中獲取字符(fu) ,它(ta)獲取了(le)'5'、'7',并且將其轉(zhuan)變為字符(fu)串“57”,存入了(le)變量a中。

總之,我們輸入的(de)數(shu)據及(ji)緩沖中的(de)數(shu)據都是一致的(de),只不(bu)過(guo)scanf函數(shu)根據不(bu)同(tong)的(de)格(ge)式進行了(le)不(bu)同(tong)的(de)轉(zhuan)換而已(省去了(le)程序(xu)員自(zi)己轉(zhuan)換數(shu)據的(de)麻煩)。

上一篇:嵌入式網絡NFS文件系統搭建流程

下一篇:linux中斷編程、中斷編程詳解

熱點(dian)文章推薦
華清學員(yuan)就(jiu)業榜單
高薪(xin)學員(yuan)經驗分享
熱點新聞推薦
前臺(tai)專線(xian):010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部