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

當前位置:首頁 > 學習資源 > 講師博文 > 格式化輸入

格式化輸入 時間:2023-04-18      來源:華清遠見

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

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

   

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

   

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

int mian(void)

{

         int a;

         scanf(“%d”,&a);

         

         return 0;

}

 

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

上述程序按照%d的規則從輸入列表中獲取字符 ,它獲取了'5'、'7',并且將其轉變為整數57,存入了變量a中。

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

int mian(void)

{

         char a[10];

         scanf(“%s”,a);

         

         return 0;

}

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

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

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

上一篇:結構體要考慮的字節對齊問題

下一篇:嵌入式學科-詳解fseek函數

戳我查看嵌入式每月就業風云榜

點我了解華清遠見高校學霸學習秘籍

猜你關心企業是如何評價華清學員的

干貨分享
相關新聞
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2024 北京華清遠見科技發展有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部