原创 奇怪的-1717986944.000000

2010-9-15 12:24 1673 9 9 分类: MCU/ 嵌入式

继续用LPC2378 (ARM7),编译环境为Keil3。


当我调用atof()函数转换一个浮点数时,总是不对。具体代码如下:


char *qwe;
float fTmpVal;
qwe = "123.4";
printf("qwe=%s\n",qwe);
fTmpVal = 123.4;
printf("f=%f\n",fTmpVal);
fTmpVal = (float)atof(qwe);
printf("fTmpVal=%f\n",fTmpVal);


此代码,无论qwe具体赋何值,每次输出fTmpVal都是-1717986944.000000。


但是同样的代码,在VC环境下,输出是正确的。


怀疑是编译器的问题。后来发现,果然如此。需要包含一个"stdlib.h"的头文件。

文章评论0条评论)

登录后参与讨论
我要评论
0
9
关闭 站长推荐上一条 /2 下一条