next up previous contents
Next: scanf 函式 Up: 格式化輸入輸出 Previous: printf 函式   Contents

printf 修飾子

  1. printf 函式的格式碼可以依指定型態列印,再配合修飾子 (flags) 可更符合列印需求。
    修飾子 功能 實例 實例說明
    - 靠左對齊 %-4d 以 4 個位數列印十進位整數並靠左對齊
    + 強制列印數值的正負符號 %+5d 以 5 個位數列印十進位整數並列印正負符號
    (space) 正數留空白,負數用負號 %6f 以 6 個位數列印浮點數,正數時第 1 位數留空白
    0 固定位數列印時,數值前空白以 0 補足 %010.2f 以 10 個位數列印浮點數,小數點 2 位,整數不足 5 位時補 0。
  2. 範例:
    [dywang@dyw219 zzz]$ cat fstdio2.c 
    #include <stdio.h>
    
    main() {
    	int a=-9, b=679, c=-679;
    	float d=-3.1415, e=3.1415, f=-792.324;
    	printf("a=%-4d\tb=%+5d\tc=%+5d\n", a, b, c);
    	printf("d=% 6f\te=% 6f\tf=%010.2f\n", d, e, f);
    }
    
  3. 編譯成功
    [dywang@dyw219 zzz]$ gcc -o fstdio2 fstdio2.c
    
  4. 執行結果與表格實例說明吻合嗎?
    [dywang@dyw219 zzz]$ ./fstdio2
    a=-9	b= +679	c= -679
    d=-3.141500	e= 3.141500	f=-000792.32
    



De-Yu Wang 2019-08-14