C語言基本資料型別對應位元組大小及printf函式輸出格式
補充說明:
4位元組:int(%d),unsigned=unsigned int(%u),long=long int(%ld),unsigned long(%lu),float(%f)
8位元組:double(%lf),unsigned long long(%llu),long long=long long int(%lld)
12位元組:long double(%llf)
printf函式輸出格式:
語法:#include <stdio.h> int printf( const char *format, ... ); |
printf()函式根據format(格式)給出的格式列印輸出到STDOUT(標準輸出)和其它引數中.
字串format(格式)由兩類專案組成 - 顯示到螢幕上的字元和定義printf()顯示的其它引數. 基本上, 你可以指定一個包含文字在內的format(格式)字串,也可以是對映到printf()其它引數的"特殊"字元. 例如本程式碼
char name[20] = "Bob"; int age = 21; printf( "Hello %s, you are %d years old\n", name, age );
顯示下列輸出:
Hello Bob, you are 21 years old
%s 表示, "在這裡插入首個引數,一個字串." %d 表示第二個引數(一個整數)應該放置在那裡. 不同的"%-codes
Code | 格式 |
%c | 字元 |
%d | 帶符號整數 |
%i | 帶符號整數 |
%e | 科學計數法, 使用小寫"e" |
%E | 科學計數法, 使用大寫"E" |
%f | 浮點數 |
%g | 使用%e或%f中較短的一個 |
%G | 使用%E或%f中較短的一個 |
%o | 八進位制 |
%s | 一串字元 |
%u | 無符號整數 |
%x | 無符號十六進位制數, 用小寫字母 |
%X | 無符號十六進位制數, 用大寫字母 |
%p | 一個指標 |
%n | 引數應該是一個指向一個整數的指標 指向的是字元數放置的位置 |
%% | 一個'%'符號 |
一個位於一個%和格式化命令間的整數擔當著一個最小欄位寬度說明符,並且加上足夠多的空格或0使輸出足夠長. 如果你想填充0,在最小欄位寬度說明符前放置0. 你可以使用一個精度修飾符,它可以根據使用的格式程式碼而有不同的含義.
- 用%e, %E和 %f,精度修飾符讓你指定想要的小數位數. 例如,
%12.6f
將會至少顯示12位數字,並帶有6位小數的浮點數.
- 用%g和 %G, 精度修飾符決定顯示的有效數的位數最大值.
- 用%s,精度修飾符簡單的表示一個最大的最大長度, 以補充句點前的最小欄位長度.
%-12.4f
將會顯示12位字元,4位小數位的浮點數並且左對齊. 你可以修改帶字母l和h%d, %i, %o, %u和 %x 等型別說明符指定長型和短型資料型別 (例如 %hd 表示一個短整數). %e, %f和 %g 型別說明符,可以在它們前面放置l指出跟隨的是一個double. %g, %f和 %e 型別說明符可以置於字元'#'前保證出現小數點, 即使沒有小數位. 帶%x型別說明符的'#'字元的使用, 表示顯示十六進位制數時應該帶'0x'字首. 帶%o型別說明符的'#'字元的使用, 表示顯示八進位制數時應該帶一個'0'字首.
printf()的返回值是列印的字元數,如果發生錯誤則返回一個負值.