printf()函数打印数据指令时要与代打印数据的类型相匹配才行。
如%d %c %ld......这些符号叫做转换说明。代表着数据转化成显示的形式。
一些常见的转换说明及打印结果:
转换说明 | 输出 |
---|---|
%d | 有符号十进制整数 |
%c | 单个字符 |
%A | 浮点数,十六进制数和p计数法(c99/c11) |
%a | 浮点数,十六进制数和p计数法(c99/c11) |
%f | 浮点数,十进制计数法 |
%e | 浮点数,e计数法 |
%E | 浮点数,e计数法 |
%i | 有符号十进制整数 |
%o | 无符号八进制整数 |
%p | 指针(地址) |
%s | 字符串 |
%u | 无符号十进制整数 |
%x | 无符号十六进制整数,使用十六进制数Of |
%X | 无符号十六进制整数,使用十六进制数OF |
%% | 打印一个百分号 |
%g(或%G) | 浮点数不显示无意义的零“0” |
其基本格式如下:
printf(格式字符串,待打印1,待打印2,.......);
解释:
格式字符串是被双引号括起来的,待打印1 2等可以是变量,常量,表达式。
如:
代码语言:javascript复制#include <stdio.h>
int main()
{
int a=1,b=2;
printf("有%d个小洁,%d小洁洁", a,b);
return 0;
}
打印结果为: 有1个小洁,2个小洁洁
注意:格式字符串中的转化说明一定要与后面的打印项一一相匹配。
printf()的转换说明修饰符
修饰符 | 含义 |
---|---|
标记 | ( - 空格 # 0) - :待打印项左对齐,从左侧开始打印 :有符号值为正,则在值前面显示加号 有符号值为负,则在值前面显示负号 空格 :有符号值为正,则在值前面显示前输出一个空格· 有符号值为正,则在值前面显示减号 标记覆盖一个空格 # /0 :(不常用)想知道的可自行了解 |
数字 | 最小字段宽度(宽度字符数) |
.数字 | .前面数字代表宽度 .后面数字代表有多少位有效数字 |
h | 和整型转换说明一起使用,表示short int/unsigned short int类型的值 |
hh | 和整型转换说明一起使用,表示signed char/unsigned char类型的值 |
l | 和整型转换说明一起使用,表示long int/unsigned long int类型的值 |
ll | 和整型转换说明一起使用,表示long long int/unsigned long long int类型的值 |
L | 和浮点型转换说明一起使用,表示long double类型的值 |
z | 和整型转换说明一起使用,表示size_t类型的值 |
如:
代码语言:javascript复制#include <stdio.h>
int main()
{
int a=1,b=2;
printf("=个小洁,n%-3d小洁洁", a,b);
return 0;
}
打印结果为:
(从左边开始打印与从右边开始打印之差)
代码语言:javascript复制 1个小洁,
2 小洁洁
D:VSProject4x64DebugProject4.exe (进程 1596)已退出,代码为 0。
按任意键关闭此窗口. . .
后面以此类推,大家可亲自动手尝试尝试