碰到一个诡异的问题
千树之影 2015-05-21 11:18:32 今天碰到一个bug,百般排查之后发现是exp函数的结果不对。检查后原因是没有包含<math.h>,包含后结果就正确了。
但问题在于,没有包含math.h的情况下,为什么编译能通过呢?而且没找到项目中有任何名为exp的函数或宏定义!
为了验证这个问题,我又新建了一个.c文件,
int test()
{
float a=exp(0);
float b=exp(1);
return 0;
}
没有包含任何头文件,编译竟然能过!然后a,b的值都是错的。
有人知道这是什么问题吗?
编译环境是vs2008.