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

C 語言實例精講:printf 輸出寬度的三種設定方式

     編輯:關於C

前言

承接上一篇 printf 輸出 % 的技巧,本文詳細解析 printf 格式化輸出時的寬度控制。掌握寬度設定,能讓輸出結果對齊美觀,提升日誌與報表的可讀性。

printf 輸出寬度三大模式

  1. 預設寬度:隨內容實際長度變化,不補位。
  2. 固定寬度:格式字串中直接指定數字,如 %4d,不足左補空格。
  3. 可變寬度:使用 * 佔位,由後續參數動態決定,如 %*d。

完整範例程式

#include <stdio.h>

int main() {
    int a = 33;
    int b = 333;
    int c = 1234;
    int width = 4;

    printf("%d,%d \n", c, c);        // 預設寬度
    printf("%d,%d \n", a, b);        // 預設寬度
    printf("%4d,%4d \n", a, b);      // 固定寬度 4
    printf("%*d,%*d \n", width, a, width, b); // 可變寬度 4

    return 0;
}

重點解析:可變寬度 %*d

printf("%*d,%*d \n", width, a, width, b);

  • * 表示寬度由參數傳入,寬度參數在值參數之前。
  • 範例中 width = 4,故 a(33) 輸出為 " 33"(前補兩空格),b(333) 輸出為 " 333"(前補一空格)。

執行結果對照

1234,1234          // 預設寬度,完整輸出
33,333             // 預設寬度,無補位
  33, 333          // 固定寬度 4,左補空格對齊
  33, 333          // 可變寬度 4,效果相同

註:終端中可清晰看到前導空格,建議自行編譯實驗。

小結

靈活運用三種寬度模式,可輕鬆實現表格對齊、日誌欄位固定寬等需求。下一回將繼續探討更多 printf 進階用法。

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