C:在同一表达式中使用几个pow函数时,结果无效

C:在同一表达式中使用几个pow函数时,结果无效,c,tcc,C,Tcc,由于一些我不知道的原因,这段代码产生了不同的结果 #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.0

由于一些我不知道的原因,这段代码产生了不同的结果

#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;
}
#包括
#包括
main(){
双y,y2;
y=功率(2.0,1.0)*功率(2.0,1.0)*功率(2.0,1.0);
y2=功率(2.0,3.0);
printf(“%lf\n”,y);//2.000000
printf(“%lf\n”,y2);//8.000000
返回0;
}

我正在使用tcc编译器,我想这可能很重要,因为我找不到有关此类问题的任何信息。

程序在我的机器上显示了两次
8.000000
。你确定你正在运行你发布的代码吗?是的。我敢肯定。我刚检查过。你能发布你用来编译/运行它的完整命令吗?tcc aaa.c其中aaa.c是要运行的文件名,我只写aaa