[开发资料] 函数printf知多少

[复制链接]
23|0
jf101 发表于 2025-10-21 16:43 | 显示全部楼层 |阅读模式
格式化输出函数printf
printf函数叫做格式输出函数,其功能是按照用户指定的格式,把指定的数据输出到屏幕上,printf函数的格式为:

  1. printf("格式控制字符串",输出表项);




格式字符串的形式为:% [输出最小宽度] [.精度] [长度] 类型

例如:%d格式符表示用十进制整形格式输出,%5.2f格式表示输出宽度为5(包括小数点),并包含2位小数。

常用的输出格式及含义如下:

格式字符       
d , i        以十进制形式输出有符号整数(正数不输出符号)
O        以八进制形式输出无符号整数(不输出前缀0)
x        以十六进制形式输出无符号整数(不输出前缀0x)
U        以十进制形式输出无符号整数
f        以小数形式输出单、双精度类型实数
e        以指数形式输出单、双精度实数
g        以%f或%e中较短输出宽度的一种格式输出单、双精度实数
C        输出单个字符
S        输出字符串

*修饰符在printf()中的用法:

假如您不想事先指定字段宽度,而是希望由程序来制定该值,那么您可以在字段宽度部分使用*代替数字来达到目的,但是您也必须使用一个参数来告诉函数宽度的值是多少。具体的说,如果转换说明符为%d,那么参数列表中应该包括一个的值和一个d的值,来控制宽度和变量的值。该技术也可以和浮点值一起使用来指定精度和字段宽度。

  1. #include<stdio.h>
  2. int main(void)
  3. {
  4.     unsigned width,precision;
  5.     int number = 256;
  6.     double weight = 25.5;
  7.     printf("Please input number's width:\n");
  8.     scanf("%d",&width);
  9.     printf("The number is: %*d\n",width,number);
  10.     printf("Then please input width and precision:\n");
  11.     scanf("%d %d",&width,&precision);
  12.     printf("Weight = %*.*f\n",width,precision,weight);
  13.     return 0;
  14. }



您需要登录后才可以回帖 登录 | 注册

本版积分规则

264

主题

2029

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部