格式化输出函数printf
printf函数叫做格式输出函数,其功能是按照用户指定的格式,把指定的数据输出到屏幕上,printf函数的格式为:
格式字符串的形式为:% [输出最小宽度] [.精度] [长度] 类型
例如:%d格式符表示用十进制整形格式输出,%5.2f格式表示输出宽度为5(包括小数点),并包含2位小数。
常用的输出格式及含义如下:
格式字符
d , i 以十进制形式输出有符号整数(正数不输出符号)
O 以八进制形式输出无符号整数(不输出前缀0)
x 以十六进制形式输出无符号整数(不输出前缀0x)
U 以十进制形式输出无符号整数
f 以小数形式输出单、双精度类型实数
e 以指数形式输出单、双精度实数
g 以%f或%e中较短输出宽度的一种格式输出单、双精度实数
C 输出单个字符
S 输出字符串
*修饰符在printf()中的用法:
假如您不想事先指定字段宽度,而是希望由程序来制定该值,那么您可以在字段宽度部分使用*代替数字来达到目的,但是您也必须使用一个参数来告诉函数宽度的值是多少。具体的说,如果转换说明符为%d,那么参数列表中应该包括一个的值和一个d的值,来控制宽度和变量的值。该技术也可以和浮点值一起使用来指定精度和字段宽度。
- #include<stdio.h>
- int main(void)
- {
- unsigned width,precision;
- int number = 256;
- double weight = 25.5;
- printf("Please input number's width:\n");
- scanf("%d",&width);
- printf("The number is: %*d\n",width,number);
- printf("Then please input width and precision:\n");
- scanf("%d %d",&width,&precision);
- printf("Weight = %*.*f\n",width,precision,weight);
- return 0;
- }
|