C語言中關於scanf函數的用法

來源:互聯網
上載者:User

作者:莊老師,華清遠見嵌入式學院講師。

scanf()函數的控制串

函數名: scanf

功 能: 執行格式化輸入

用 法: int scanf(char *format[,argument,...]);

scanf()函數是通用終端格式化輸入函數,它從標準輸入裝置(鍵盤) 讀取輸入的資訊。可以讀入任何固有類型的資料並自動把數值變換成適當的機內格式。

其調用格式為: scanf("<格式化字串>",<地址表>);

scanf()函數返回成功賦值的資料項目數,出錯時則返回EOF。

其控制串由三類字元構成:
1.  格式化說明符;
2.  空白符;
3.  非空白符;

(A) 格式化說明符

格式字元 說明
%a 讀入一個浮點值(僅C99有效)
%A 同上
%c 讀入一個字元
%d 讀入十進位整數
%i 讀入十進位,八進位,十六進位整數
%o 讀入八進位整數
%x 讀入十六進位整數
%X 同上
%c 讀入一個字元
%s 讀入一個字串
%f 讀入一個浮點數
%F 同上
%e 同上
%E 同上
%g 同上
%G 同上
%p 讀入一個指標
%u 讀入一個無符號十進位整數
%n 至此已讀入值的等價字元數
%[] 掃描字元集合
%% 讀%符號

附加格式說明字元表
修飾符 說明
L/l 長度修飾符 輸入"長"資料
h 長度修飾符 輸入"短"資料
W 整型常數 指定輸入資料所佔寬度
* 星號 空讀一個資料
hh,ll同上h,l但僅對C99有效。

(B) 空白字元

空白字元會使scanf()函數在讀操作中略去輸入中的一個或多個空白字元,空白符可以是space,tab,newline等等,直到第一個非空白符出現為止。

(C) 非空白字元

一個非空白字元會使scanf()函數在讀入時剔除掉與這個非空白字元相同的字元。

文章來源:華清遠見嵌入式學院,原文地址:http://www.embedu.org/Column/Column681.htm

更多相關文章查看講師博文>>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.