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: %dn", a, b);
    printf("2. a: %4d, b: %4dn", a, b);
    printf("3. a: %04d, b: %04dnn", a, b);
    double x = 8.12345678;
    double y = 16.12345678;
    printf("1. x: %f, y: %fn", x, y);
    printf("2. x: %.2f, y: %.2fn", x, y);
    printf("3. x: %6.2f, y: %6.2fn", x, y);
    printf("4. x: %06.2f, y: %06.2fnn", x, y);
    char s[] = "hello";
    printf("1. s: %sn", s);
    printf("2. s: %8sn", s);
    return 0;
}
胜象大百科