printf()函数的转换说明修饰符和标记
Posted xiangzhong-com
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了printf()函数的转换说明修饰符和标记相关的知识,希望对你有一定的参考价值。
printf()函数的转换说明、修饰符和标记:
表一 转化说明及其打印的输出结果
转换说明 |
输出 |
%f |
浮点数的十进制计数法 |
%e或%E |
浮点数的e计数法 |
%a或%A |
浮点数的p计数法 |
%c |
单个字符 |
%d或%i |
有符号十进制整数 |
%u |
无符号的十进制整数 |
%o |
无符号的八进制整数 |
%x或%X |
无符号十六进制整数 |
%% |
打印百分号 |
表二 printf()的修饰符
修饰符 |
含义 |
标记 |
详见表三 |
数字 |
例如: 输出结果: int a = 100; 100 printf("%10d\\n", a); 100 printf("%2d", a); 解释:如果输出数字的宽度小于限定的宽度,则左边补空格;如果大于限定的宽度,则系统会自动用更宽的字段,即左边只输出该数字。 |
.数字 |
精度 输出结果: 例如: 3.14 float PI = 3.14159; 3.141590 int a = 10; printf("%.2f\\n%.6f\\n",PI, PI); 解释:.后面的数字代表该数字小数点后面的位数,若限定的位数大于该数的小数点位数,则添0来达到限定的位数 |
j |
如果要定义比unsigned long还要大的数,用intmax_t或uintmax_t类型的数(记得添加头文件stdint.h) 示例:%jd |
l |
和整型转换说明一起使用,表示long int或unsignedlong int类型的值 示例:%ld %lu |
ll |
和整型转换说明一起使用,表示long long int或unsigned long long int类型的值 示例:%lld %llu |
L |
和浮点转换说明一起使用,表示long double类型的值 示例:%Lf |
z |
和整型转换说明一起使用,表示size_t类型的值,size_t是sizeof返回的类型 示例:%zd |
表三 printf()中的标记
标记 |
含义 |
- |
输出的结果左对齐 |
+ |
输出的数字若为正,则添+,否者添- |
空格 |
示例: 输出结果: int a = 12; 12 int b = -12; -12 printf("% d\\n% d", a, b); 输出的数字若为正,则保留空格,否则将负号代替空格 |
# |
将结果转化为另外一种格式,比如打印八进制或十六进制为其添加各自的前缀,如八进制的前缀是0,十六进制的前缀是0x或0X; |
0 |
对于数值格式,用前导0代替空格填充字段宽度。若是整数格式,出现了-格式或指定精度,则忽略该标记 |
请读者将每个转换说明、修饰符和标记相互结合打印数字或字符来加深对其理解,并灵活使用
下面是我给出的几个示例:
以上是关于printf()函数的转换说明修饰符和标记的主要内容,如果未能解决你的问题,请参考以下文章