程式碼解析
#define PRICE 30
void main() {
int num = 10, total = num * PRICE;
printf("total=%d", total);
}
printf("total=%d", total); 逐項拆解
| 部分 | 含義 |
"total=%d" | **格式字串** (format string)。total= 為字面文字原樣輸出;%d 為**佔位符**,告訴 printf 「這裡插入一個有號十進位整數」。 |
, | **參數分隔符**,分隔格式字串與後續變數引數。 |
total | **對應 %d 的實際引數**,其值 (300) 會被格式化為字串 "300" 填入佔位符位置。 |
輸出結果
total=300
常見變體
printf("%d", total); // 僅輸出數字: 300
printf("total = %d\n", total); // 加空格與換行: total = 300
printf("total=%d, num=%d", total, num); // 多佔位符對應多引數
核心觀念
- 格式字串 控制**輸出外觀**,引數** 提供**資料值**。
%d、%f、%s 等**轉換規格** 必須與引數型別匹配,否則未定義行為。
printf 回傳**實際輸出字元數** (含格式字串字面字元),可用於錯誤檢查。
- 上一篇文章: C語言 Win32 控制台關機程式「拒絕存取」解決方案:UAC 提權與 API 替代方案
- 下一篇文章: C語言 FILE* 指標詳解:結構體內容、標準串流與檔案操作流程
Copyright ©
程式碼之家 All Rights Reserved