对于一些我不知道的原因,这段代码会产生不同的结果。
#include <stdio.h>
#include <math.h>
main() {
double y, y2;
y = pow(2.0, 1.0) * pow(2.0, 1.0) * pow(2.0, 1.0);
y2 = pow(2.0, 3.0);
printf("%lf\n", y); // 2.000000
printf("%lf\n", y2); // 8.000000
return 0;
}
我正在使用 tcc 编译器,我想这可能很重要,但我找不到有关此类问题的任何信息。