c - Linux平台下atof总是返回0.0

【字号: 日期:2022-06-19浏览:51作者:雯心

问题描述

代码如下

#include<stdio.h>int main(){ char* s = '123.3'; double d = atof(s); printf('%lfn', d); return 0;}

结果总是为0.000000,而不是123.3,为什么?

问题解答

回答1:

因为你没有include stdlib.h啊(」゜ロ゜)」这是一个隐蔽坑。因为你没有包含头文件,所以就没有函数声明,没有函数声明,则默认库函数的返回值是int型的。你编译时加上-Wall的话,它会很明确的告诉你没有声明的。

相关文章: