Netbeans C/C++ でこの奇妙な状況に遭遇しました。状況は次のとおりです。プロジェクト エクスプローラーの [ソース ファイル] の下に、main.c と problem3.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);
}
problem3.c で
long BigNumber(){
return 600851475143;
}
私の場合は、問題 3.c の BigNumber() を使用すると、403282979527
正しくない が出力されます。しかし、main.c の BigNumber() を使用すると、600851475143
.
背後にある魔法を説明できる人はいますか? プラットフォームのせいですか、それとも などのツールのせいmake
ですか? Windows 7 32 ビット、NetBeans 7.3.1、MinGW を使用しています。