#include <stdio.h>
#include <math.h>
int main(void){
printf("%lf\n", pow(1.0, 2.0));
printf("%f\n", pow(1.0, 2.0));
return 0;
}
最初printf()
は output を返します0.000000
が、2 番目printf()
は output を返します1.000000
。なんで?
Windows 7 64 ビットでのコードブロックの使用。
gcc コマンドを使用してコンパイルすると、両方のステートメントで 1.000000 を出力する .exe が得られます。
コードブロックで F9 キーを押してコンパイルすると、最初のステートメントで 0.000000 が得られ、2 番目のステートメントで 1.000000 が得られます。
最後に、#include <stdio.h>
Codeblocks のソース コードから削除すると、すべてが 1.000000 になります (警告やエラーは発生しません)。