给定以下C代码段:
printf("value: %lfn", (double) ceil(((double) 100) / ((double) 2)));
使用Visual Studio 2010 C编译器在 64位中编译此代码时,它给出了预期的结果:
value: 50.000000
但是,当与Visual Studio 2010 C编译器编译相同的代码这次在 32位中运行时,它给出了意外的结果:
value: 1028.000000
有什么提示为什么这个出乎意料的值?
如上所述,您忘记了#include <math.h>
,这导致了不确定的行为
我相信,如果您打开所有警告,您将立即获得根本原因