printf()
格式:%[flags][width][.prec][hlL]type
flag
- – 左对齐
- + 在前面放+或者-
- (space) 正数留空
- 0 0填充
width和pres
- number 最小字符数
- * 下一个参数是字符数
- .number 小数点后面的位数
- .* 下一个参数是小数点后的位数
hlL
- hh 单个字节
- h short
- l long
- ll long long
- L long double
type
- i或d int
- u unsigned int
- o 八进制
- x 十六进制
- X 大写十六进制
- f或F float
- e或E 指数
- g或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 int
- o 八进制
- x 十六进制
- a,e,f,g float
- c char
- s 字符串
- […] 所允许的字符
- p 指针
printf()和scanf()的返回值
- 读入的项目数
- 输出的字符数
- 在要求严格的程序中,应该判断每次调用scanf()或printf()的返回值,从而了解程序运行中是否存在问题