admin 管理员组文章数量: 887021
2023年12月18日发(作者:mysql数据库图)
用于scanf的格式符有以下几种:
c 读单字符
d 读十进制整数
i 读十进制、八进制、十六进制整数
e 读浮点数
f 读浮点数
g 读浮点数
o 读八进制数
s 读字符串
x 读十六进制数
p 读指针值
u 读无符号十进制整数
[ ] 扫描字符集合
所以%d指示scanf读取一个整数值,%c指示读取一个字符,%lf指示读取一个双精度值。
格式字符 意 义
d
o
x,X
u
f
e,E
g,G
c
s
以十进制形式输出带符号整数(正数不输出符号)
以八进制形式输出无符号整数(不输出前缀0)
以十六进制形式输出无符号整数(不输出前缀Ox)
以十进制形式输出无符号整数
以小数形式输出单、双精度实数
以指数形式输出单、双精度实数
以%f或%e中较短的输出宽度输出单、双精度实数
输出单个字符
输出字符串
前面加个%,你自己对照下吧
长度:长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。你这个“%lf”,是在定义输入的类型为double(双精度)是用的,不明白,你可以测试下:
#include
void main()
{ double i;
scanf("%lf",&i);
printf("%fn",i);
}
和
#include
void main()
{ double i;
scanf("%f",&i);
printf("%fn",i);
}
我这里用了2个编译器分别测试了下,一个如果定义double行,输入的时候必须要用%lf,一个就不用了,用%f也行,但是精度还是有区别的,综合以上,如果定义double型数据,输入最好是用"%lf" .
版权声明:本文标题:scanf函数中%lf格式符的解释 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1702892284h434915.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论