前天写程序时需要从文本转换到double类型,使用了sscanf函数。
运行时遇到奇怪的现象:输出的结果并不是我想要的,而是一个非常小的数字。
百度之后得到的sscanf使用介绍中转换到浮点类型都是我所使用的方法,可是为什么会出现这样的问题呢,
起初是怀疑自己的VC6.0的问题。回寝室后在同学机子上尝试同样的语句也都是错误的结果。
在和同学商量时突然想到是不是要在格式符"%f"的中间添加"l"修饰符呢。
尝试一下之后,正确的结果赫然出现在了命令行黑色的面板上了。
呵呵。
心结释然的同时也产生了一个疑惑,在printf里面可以"%f"输出双精度浮点型,
为什么sscanf中却必须加修饰符才能正确输出双精度浮点类型呢?
疑惑中,等项目结束时再好好研究一下!