C语言printf指定宽度的格式化输出


C语言printf指定宽度的格式化输出

文章插图
 
接上文:C语言 printf 格式化输出的详细示例
printf() 是一个标准库函数,使用时需要 include 头文件 stdio.h 。
【C语言printf指定宽度的格式化输出】#include<stdio.h>printf() 函数的调用形式为:
printf("格式控制字符串", 输出列表);其中,格式控制字符串用于指定输出格式,有格式字符串和非格式字符串两种形式 。
C语言printf指定宽度的格式化输出

文章插图
 
格式字符串有 %,%后面跟着各种格式字符,用以说明输出数据的类型、形式、长度、小数位等 。
下面是一些常用的指定宽度的格式化输出例子 。
1、格式化输出整型d 格式,用来输出十进制整数 。
  • %d:按整型数据的实际长度输出;
  • %md:m为指定的输出宽度 。如果数据的位数小于m,则左端补空格;若大于m,则按实际位数输出;
  • %0md:同上,但这里如果数据的位数小于m,则左端补0;若大于m,则按实际位数输出 。

C语言printf指定宽度的格式化输出

文章插图
 
2、格式化输出浮点型f 格式,用来输出小数 。
  • %f:整数部分全部输出,并输出6位小数;
  • %.nf:整数部分全部输出,并输出n位小数;
  • %m.nf:输出共占m列,n位小数,若数值宽度小于m则左端补空格 。

C语言printf指定宽度的格式化输出

文章插图
 
3、格式化输出字符串s 格式,用来输出字符串 。
  • %s:输入全部字符串;
  • %ms:输出的字符串共占m列,若字符串本身的长度小于m,则左补空格;若字符串本身的长度大于m,则全部输出 。

C语言printf指定宽度的格式化输出

文章插图
 
附上全部代码:
#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;}




    推荐阅读