c語言scanf的用法

2021-09-25 03:57:11 字數 1756 閱讀 6758

函式名: 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 整型常數 指定輸入資料所佔寬度

(b) 空白字元

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

(c) 非空白字元

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

三、scanf函式的使用範例

例1

#includeint main()

}

輸出:

在對於a,b,c的賦值中,無論我們如何敲寫空白字元和回車字元都不會影響,一直到abc的值被賦完才會結束一次的賦值。

例2#include

int main()

}輸出:

在例2中我們對它的輸入格式做了修改。結果如上圖所示。可以發現在輸入數值時,其他字元可以出現在數值前,而不可以出現在數值後,這樣將會造成程式的錯誤。

例3

#include int main( )

在scanf函式中,對於字元的接收需要注意對於回車字元的使用

出現這種情況我們可以新增一句getchar();來進行修改

例4

includeint main( )

return 0;

}

相較於例3;我們新增了一句getchar語句則輸出為

我們發現該輸出則變成想要的形式了。

c語言中scanf的用法

格式 scanf 輸入控制符 輸入引數 1 當scanf控制符是字元 c 的時候,要注意回車,回車也是乙個字元,當我們連續輸入兩個整數,回車 空格都屬於字元,都會被下一輪的scanf c 運算子 吸收。導致我們無法再次輸入乙個運算子。使用getchar 可以解決這一問題。2 逗號後不要忘記取位址符 ...

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

華清遠見嵌入式學院講師。scanf 函式的控制串 函式名 scanf 功 能 執行格式化輸入 用 法 int scanf char format argument,scanf 函式是通用終端格式化輸入函式,它從標準輸入裝置 鍵盤 讀取輸入的資訊。可以讀入任何固有型別的資料並自動把數值變換成適當的機內...

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

scanf 函式的控制串 函式名 scanf 功 能 執行格式化輸入 用 法 int scanf char format argument,scanf 函式是通用終端格式化輸入函式,它從標準輸入裝置 鍵盤 讀取輸入的資訊。可以讀入任何固有型別的資料並自動把數值變換成適當的機內格式。其呼叫格式為 sc...