我在 Netbeans C/C++ 中遇到了这种奇怪的情况。情况如下:在我的项目资源管理器中,在 Source Files 下,我有 main.c 和 question3.c
在 main.c
#include <stdio.h>
#include <stdlib.h>
// long BigNumber(){
// return 600851475143;
// }
int main(int argc, char* argv[]) {
printf("%lu", BigNumber() );
return (EXIT_SUCESS);
}
在问题3.c
long BigNumber(){
return 600851475143;
}
我的情况是,当我使用 problem3.c 中的 BigNumber() 时,它会输出403282979527
,这是不正确的。但是如果我使用 main.c 中的 BigNumber(),它将打印600851475143
.
谁能解释背后的魔力?是因为平台,还是工具之类的make
?我正在使用 Windows 7 32 位、NetBeans 7.3.1 和 MinGW。