格式字符串
格式字符串的一般形式为:%[*][输入数据宽度][长度]类型
其中有方括号[]的项为任选项。各项的意义如下。
1) 类型
表示输入数据的类型,其格式符和意义如下表所示。
格式 | 字符意义 |
---|---|
d | 输入十进制整数 |
o | 输入八进制整数 |
x | 输入十六进制整数 |
u | 输入无符号十进制整数 |
f或e | 输入实型数(用小数形式或指数形式) |
c | 输入单个字符 |
s | 输入字符串 |
2) “*”符
用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。如:
- scanf("%d %*d %d",&a,&b);
3) 宽度
用十进制整数指定输入的宽度(即字符数)。例如:
- scanf("%5d",&a);
- scanf("%4d%4d",&a,&b);
4) 长度
长度格式符为l和h,l表示输入长整型数据(如%ld)和双精度浮点数(如%lf)。h表示输入短整型数据。
输入字符串中有空格时候 可以用%[^\n]
- scanf函数中没有精度控制,如:scanf("%5.2f",&a);是非法的。不能企图用此语句输入小数为2位的实数。