国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

當(dāng)前位置:首頁 > IT課程問答

格式化輸入 時(shí)間:2023-04-23      來源:華清遠(yuǎn)見

C語言中常用的輸入可以有多種方式,如scanf(),getchar(),gets()。它們的功能都類似(獲取鍵盤輸入的數(shù)據(jù)),但scanf()因功能使用、函數(shù)簡單,而深受編程者喜愛。

scanf()函數(shù)功能: 執(zhí)行格式化輸入(用戶可以按照指定格式輸入數(shù)據(jù)) 

   

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

   

scanf()從標(biāo)準(zhǔn)輸入設(shè)備(通常指鍵盤) 讀取輸入的信息,并將讀入任何固有類型的數(shù)據(jù)自動(dòng)變換成適當(dāng)?shù)臋C(jī)內(nèi)格式。其格式為: scanf("<格式化字符串>",<地址表>);scanf()函數(shù)返回成功賦值的數(shù)據(jù)項(xiàng)數(shù),出錯(cuò)時(shí)則返回EOF。例如以下程序

int mian(void)

{

        int a;

        scanf(“%d”,&a);

        

        return 0;

}

 

當(dāng)程序運(yùn)行到scanf(“%d”,&a)時(shí)會(huì)阻塞,等待鍵盤輸入。如果我們在鍵盤上按下“5”、“7”然后回車了,那么“5”、“7”、回車鍵“\n”都被逐一放入緩沖區(qū)里,又由于回車鍵是特殊的字符(可實(shí)現(xiàn)清除行緩沖),它先將字符'\n'添加到緩沖區(qū),隨后便清除緩沖區(qū) ,將其中的所有字符發(fā)送到一個(gè)叫做輸入列表的地方 ,scanf函數(shù)以及其他標(biāo)準(zhǔn)輸入函數(shù)便會(huì)立刻從輸入列表中獲取內(nèi)容。

上述程序按照%d的規(guī)則從輸入列表中獲取字符 ,它獲取了'5'、'7',并且將其轉(zhuǎn)變?yōu)檎麛?shù)57,存入了變量a中。

如果我們將程序改為以下形式,

int mian(void)

{

        char a[10];

        scanf(“%s”,a);

        

        return 0;

}

如果我們還是在鍵盤上按下“5”、“7”然后回車了,那么“5”、“7”、回車鍵“\n”還是一樣被逐一放入緩沖區(qū)里;又由于回車鍵是特殊的字符(可實(shí)現(xiàn)清除行緩沖),它先將字符'\n'添加到緩沖區(qū),隨后便清除緩沖區(qū) ,將其中的所有字符發(fā)送到一個(gè)叫做輸入列表的地方 ,scanf函數(shù)以及其他標(biāo)準(zhǔn)輸入函數(shù)便會(huì)立刻從輸入列表中獲取內(nèi)容。

程序按照%s的規(guī)則從輸入列表中獲取字符 ,它獲取了'5'、'7',并且將其轉(zhuǎn)變?yōu)樽址?ldquo;57”,存入了變量a中。

總之,我們輸入的數(shù)據(jù)及緩沖中的數(shù)據(jù)都是一致的,只不過scanf函數(shù)根據(jù)不同的格式進(jìn)行了不同的轉(zhuǎn)換而已(省去了程序員自己轉(zhuǎn)換數(shù)據(jù)的麻煩)。

上一篇:結(jié)構(gòu)體要考慮的字節(jié)對(duì)齊問題

下一篇:詳解fseek函數(shù)

戳我查看2024年嵌入式每月就業(yè)風(fēng)云榜

點(diǎn)我了解華清遠(yuǎn)見高校學(xué)霸學(xué)習(xí)秘籍

猜你關(guān)心企業(yè)是如何評(píng)價(jià)華清學(xué)員的

干貨分享
相關(guān)新聞
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2024 北京華清遠(yuǎn)見科技發(fā)展有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5京公海網(wǎng)安備11010802025203號(hào)

回到頂部