当我不包含stdlib.h的时候使用atof()函数不报错,可以运行,但是得到的是错误的结果
(visual studio2015)
#include <stdio.h>
#include <string.h>
void main()
{
char *a = "-100.23";
float m = atof(a);
printf("a = %.3f\n",m );
}
运行结果为a=0.000
但是用atoi()的时候就好像没问题
#include <stdio.h>
#include <string.h>
void main()
{
char *a = "-100.23";
int m = atoi(a);
printf("a = %d\n",m );
}
运行结果为运行结果为a=-100。
包含了stdlib.h后就都是对的。
请问这是为什么?是因为#include #include 这两个包含文件间接地包含了这两个函数的声明吗,如果是这样的话为什么atof()不对而atoi()是对的呢?如果不是这样那是什么原因呢?