现在的位置: 首页 > 综合 > 正文

sscanf的一个问题

2013年08月02日 ⁄ 综合 ⁄ 共 322字 ⁄ 字号 评论关闭

 前天写程序时需要从文本转换到double类型,使用了sscanf函数。

运行时遇到奇怪的现象:输出的结果并不是我想要的,而是一个非常小的数字。

百度之后得到的sscanf使用介绍中转换到浮点类型都是我所使用的方法,可是为什么会出现这样的问题呢,

起初是怀疑自己的VC6.0的问题。回寝室后在同学机子上尝试同样的语句也都是错误的结果。

在和同学商量时突然想到是不是要在格式符"%f"的中间添加"l"修饰符呢。

尝试一下之后,正确的结果赫然出现在了命令行黑色的面板上了。

呵呵。

心结释然的同时也产生了一个疑惑,在printf里面可以"%f"输出双精度浮点型,

为什么sscanf中却必须加修饰符才能正确输出双精度浮点类型呢?

疑惑中,等项目结束时再好好研究一下!

抱歉!评论已关闭.