C语言编程中使用pow函数是遇到的问题,小问题

请问这是什么情况
难道不该输出100吗?

第1个回答  推荐于2018-03-13
你把x定义成float类型试试。
10的2次方在计算机算来是99.9999999,无限接近100但小于100,你用int类型就只取整数部分了。本回答被网友采纳
第2个回答  2018-03-13
原型:在TC2.0中原型为extern float pow(float x, float y); ,而在VC6.0中原型为double pow( double x, double y );
从原型中可以知道,x和y都是浮点数,都可以为负数,只是在不同的编译器中的声明不同。所以x小于0也可以。
第3个回答  2015-11-17
pow() 是 double 型函数。
你的编译器 在处理 result = pow(10,n); 时 可能引入了 舍入误差,化整时少了1 。
改用 double result;
输出 用 printf("%lf",result);本回答被提问者和网友采纳
相似回答