C——printf和scanf函數

printf(“format_string”, var1, var2 [,var3…])

返回值:輸出的字符數

轉換說明符

轉換說明 輸出
%a 浮點數,十六進制,p-記數法
%A 浮點數,十六進制,P-記數法
%c 一個字符
%d int,十進制
%i int,十進制
%u unsigned int
%o int,八進制
%#o int,八進制 (結果包含類型前綴)
%x int,十六進制
%#x int,十六進制 (結果包含類型前綴)
%ld long int
%lld long lont int
%f float,十進制
%E float,E記數法
%e float,e記數法
%c char,一個字符
%s char array
%p 指針
%% 一個%符號

修飾符

修飾符 輸出 示例
標誌 物種標誌(+、-、空格、#和0) %-10d
digit(s) 字段寬度的最小值,如果該字段不能容納要打印的數或者字符串,系統就會使用更寬的字段 %4d
.digit(s) 精度,對於浮點型是有效數字的最大位數,對於字符串是要打印的最大字符數,對於整數是將要打印的數字的最小位數 %5.2f寬度爲5個字符,小數點後兩個數字
h 和整數轉換說明符一起使用,表示一個short或unsigned short類型的數值 %hu %hx %6.4hd
hh 和整數轉換說明符一起使用,表示一個signed char或unsigned char類型的數值 %hhu
j 和整數轉換說明符一起使用,表示一個intmax_t或uintmax_t類型的數值 %jd %8jx
l 和整數轉換說明符一起使用,表示long或unsigned long類型 %ld %8lu
ll 和整數轉換說明符一起使用,表示long long或unsigned long long類型 %lld %8llu
L 和浮點轉換說明符一起使用,表示一個long double類型 %Lf %10.4Le
t 和整數轉換說明符一起使用,表示一個ptrdiff_t(與兩個指針之間的差相對應的類型) %td %12ti
z 和整數轉換說明符一起使用,表示一個size_t(sizeof返回的類型) %zd %12zx

標誌符

標誌 意義 示例
- 項目是左對齊的, %-20s
+ 有符號的值若爲正,則表示帶+號的符號,若爲負,則表示帶-號的符號 %+6.2f
space 有符號的值若爲正,則顯示帶前導空格,若爲負,則帶-號的符號,+號標誌會覆蓋空格標誌 % 6.2f
# 使用轉換說明的可選形式,若爲%o,則以0開始,若爲%x或%X,則以0x或0X開始,對於所有浮點型,#保證了即使不跟任何數字,也打印一個小數點字符,對於%g和%G格式,它防止尾隨0被刪除 %#o %#8.0f %+#10.3E
0 對於所有的數字格式,用前導0而不是空格填充字段寬度。如果出現-號標誌或者指定了精度(對於整數)則忽略該標誌 %010d %08.3f

scanf

返回值:返回==成功讀取==的字符個數

==注意:==
1. scanf會在遇到空格、換行、製表符處停止讀入,因此,如果輸入hello world,scanf只能讀取到hello
2. 如果使用scanf()來讀取基本變量類型的值,需要在變量名前加上&符
3. 如果使用scanf()把字符串讀入一個字符串數組重,不能使用&符

發佈了73 篇原創文章 · 獲贊 22 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章