我的理解是 1.int-double存在精度丢失问题 ,2.换个编译器看看(换个编译器,我用的是DEVC++,两个结果一样)
pow默认的返回值是double
类型,但可以(自动)强制转换后赋值给int
类型的(不大于dobule值的整数),所以你第一图的程序可以运行,但结果可能不正确。
你问问题最好组织一下语言,都不通顺。
函数其原型为:double pow(double x, double y);
double 型数据存在误差问题,强制类型转换后有误差是正常现象。
double的十进制有效数字位数是15