首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言 printf() 格式化輸出完整參考表:轉換符、修飾符與標誌詳解

     編輯:關於C語言

printf() 格式化輸出完整指南

printf() 是 C 語言最常用的格式化輸出函數,其原型為:

int printf(const char *format, ...);

掌握轉換說明符、修飾符與標誌的組合使用,能精準控制輸出格式。以下整理三張核心參考表。

表一:轉換說明符與輸出結果對照

轉換說明符輸出內容
%a / %A浮點數、十六進制數字與 p-/P- 記數法 (C99)
%c單一字符
%d / %i有號十進制整數
%e / %E浮點數、e-/E- 記數法
%f浮點數、十進制記數法
%g / %G根據數值自動選擇 %f 或 %e/%E 格式
%o無號八進制整數
%p指標地址
%s字符串
%u無號十進制整數
%x / %X無號十六進制整數 (小寫/大寫字母)
%%輸出百分號字符

表二:修飾符詳解

修飾符含義與示例
標志五種標志 (-、+、空格、#、0),詳見表三
digit(s)最小字段寬度。%4d 表示至少佔 4 字符
.digit(s)精度。%5.2f 共 5 字符,小數點後 2 位
hshort int / unsigned short。%hd, %hx
hhsigned char / unsigned char。%hhd
jintmax_t / uintmax_t (C99)。%jd
llong / unsigned long。%ld, %lu
lllong long / unsigned long long (C99)。%lld
Llong double。%Lf
tptrdiff_t (C99)。%td
zsize_t (C99)。%zd

表三:標志字符詳細說明

標志作用與示例
-左對齊。%-20s
+正數顯示 + 號。%+6.2f
空格正數前加空格,負數顯示 -。% 6.2f (被 + 覆蓋)
#替代形式:%o 加前綴 0;%x/%X 加 0x/0X;浮點數強制顯示小數點;%g/%G 保留尾隨零。%#o
0數字格式用前導 0 填充。%08d (遇 - 標志或精度則忽略)

實戰組合範例

  • %#10.3E:科學記數法,寬度 10,小數 3 位,大寫 E,強制小數點
  • %-15s:字符串左對齊,最小寬度 15
  • %08d:整數右對齊,不足 8 位前補 0
  • %+06.2f:寬度 6,小數 2 位,正數帶 +,前導 0 填充

注意事項

格式字符串與參數數量、類型必須嚴格匹配,否則導致未定義行為。C99 新增的 %a、%j、%z、%t 等需編譯器支援。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved