格式化的输入输出

  • 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的返回值,从而了解程序运行中是否存在问题

相关文章: