格式化的输入输出
- printf
- %[flags][width][.prec][hlL]type
- scanf
- %[flag]type
%[flags][width][.prec][hlL]type
Flag | 含义 |
---|---|
- | 左对齐 |
+ | 在前面放+或- |
(space) | 正数留空 |
0 | 0填充 |
width或prec | 含义 |
---|---|
number | 最小字符数 |
* | 下一个参数是字符数 |
.number | 小数点后的位数 |
.* | 下一个参数是小数点后的位数 |
类型修饰 | 含义 |
---|---|
hh | 单个字节 |
h | short |
l | long |
ll | long long |
L | long double |
type | 用于 |
---|---|
i或d | int |
u | unsigned |
o | 八进制 |
x | 十六进制 |
X | 字母大写的十六进制 |
f或F | float,6 |
e或E | 指数 |
g | float |
G | float |
a或A | 十六进制浮点 |
c | char |
s | 字符串 |
p | 指针 |
n | 读入/写出的个数 |
#scanf:%[flag]type
flag | 含义 |
---|---|
* | 跳过 |
数字 | 最大字符数 |
hh | char |
h | short |
l | long,double |
ll | long long |
L | long double |
type | 用于 |
---|---|
d | int |
i | 整数,可能为十六进制或八进制 |
u | unsigned |
o | 八进制 |
x | 十六进制 |
a,e,f,g | float |
c | char |
s | 字符串(单词) |
[…] | 所允许的字符 |
p | 指针 |
printf和scanf的返回值
- 读入的项目数
输出的字符数
在要求严格的程序中,应该判断每次调用scanf或printf的返回值,从而了解程序运行中是否存在问题