接上文:C語言 printf 格式化輸出的詳細示例
printf() 是一個标準庫函數,使用時需要 include 頭文件 stdio.h。
#include<stdio.h>
printf() 函數的調用形式為:
printf("格式控制字符串", 輸出列表);
其中,格式控制字符串用于指定輸出格式,有格式字符串和非格式字符串兩種形式。
格式字符串有 %,%後面跟着各種格式字符,用以說明輸出數據的類型、形式、長度、小數位等。
下面是一些常用的指定寬度的格式化輸出例子。
1、格式化輸出整型d 格式,用來輸出十進制整數。
- %d:按整型數據的實際長度輸出;
- %md:m為指定的輸出寬度。如果數據的位數小于m,則左端補空格;若大于m,則按實際位數輸出;
- %0md:同上,但這裡如果數據的位數小于m,則左端補0;若大于m,則按實際位數輸出。
2、格式化輸出浮點型
f 格式,用來輸出小數。
- %f:整數部分全部輸出,并輸出6位小數;
- %.nf:整數部分全部輸出,并輸出n位小數;
- %m.nf:輸出共占m列,n位小數,若數值寬度小于m則左端補空格。
3、格式化輸出字符串
s 格式,用來輸出字符串。
- %s:輸入全部字符串;
- %ms:輸出的字符串共占m列,若字符串本身的長度小于m,則左補空格;若字符串本身的長度大于m,則全部輸出。
附上全部代碼:
#include <stdio.h>
int main()
{
int a = 8;
int b = 16;
printf("1. a: %d, b: %d\n", a, b);
printf("2. a: M, b: M\n", a, b);
printf("3. a: d, b: d\n\n", a, b);
double x = 8.12345678;
double y = 16.12345678;
printf("1. x: %f, y: %f\n", x, y);
printf("2. x: %.2f, y: %.2f\n", x, y);
printf("3. x: %6.2f, y: %6.2f\n", x, y);
printf("4. x: .2f, y: .2f\n\n", x, y);
char s[] = "hello";
printf("1. s: %s\n", s);
printf("2. s: %8s\n", s);
return 0;
}