pow函数需要注意的问题

for(int i =1;i<4;i++)
{
//sum+=pow(2,i);
printf("%d\n", pow(2, i));
}
打印结果如下:
0
0
0
为什么会这样呢?
因为 pow函数原型是这样: double pow(double x, double y);
它的返回值是double类型,但是我们取值的时候是按int类型读取,导致数据异常
正确写法是
printf("%lf\n", pow(2, i));

猜你喜欢

转载自blog.csdn.net/wutieliu/article/details/88058361