代码如下
#include<stdio.h>
int main(){
char* s = "123.3";
double d = atof(s);
printf("%lf\n", d);
return 0;
}
结果总是为0.000000,而不是123.3,为什么?
代码如下
#include<stdio.h>
int main(){
char* s = "123.3";
double d = atof(s);
printf("%lf\n", d);
return 0;
}
结果总是为0.000000,而不是123.3,为什么?
7 回答4.9k 阅读
4 回答3.6k 阅读
2 回答5.7k 阅读✓ 已解决
2 回答2.4k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
4 回答2.5k 阅读
1 回答3.1k 阅读
因为你没有include stdlib.h啊(」゜ロ゜)」
这是一个隐蔽坑。因为你没有包含头文件,所以就没有函数声明,没有函数声明,则默认库函数的返回值是int型的。
你编译时加上-Wall的话,它会很明确的告诉你没有声明的。