使用atof函数有什么问题?

int main() { char str[10]="3.5"; printf("%lf",atof(str)); return 0; } 

这是我在ideone.com上测试的一个简单代码。 我得到的输出为

 -0.371627 

你没有包括stdlib.h。 添加适当的包括:

 #include  #include  int main() { char str[10]="3.5"; printf("%lf",atof(str)); return 0; } 

如果不包含stdlib.h,则会隐式声明atof() ,并且编译器假定它返回一个int。

它可能是未定义的行为 。