请C语言高手帮帮忙啊!我刚才用pow()函数试了一下,很奇怪啊,pow(10,3)可以输出正确结果

请C语言高手帮帮忙啊!我刚才用pow()函数试了一下,很奇怪啊,pow(10,3)可以输出正确结果,但是如下代码运行都为0,是什么原因啊!代码如下:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{
int i=3;
printf("pow(10,i)=%d\n",pow(10,i));
system("pause");
}

pow()函数返回的是一个实型数,而不是整型的
所以你有两个方式让它输出:
printf("pow(10,i)=%.2f\n",pow(10,i));

printf("pow(10,i)=%d\n",(int)(pow(10,i)));
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-27
pow返回结果是浮点数,改成%f试试
printf("pow(10,i)=%f\n",pow(10,i));

原型:extern float pow(float x, float y);

用法:#include <math.h>

功能:计算x的y次幂。

说明:x应大于零,返回幂指数的结果。
第2个回答  2013-01-27
pow的返回值只有float和double,没有int
所以printf("pow(10,i)=%f\n",pow(10,i));就可以了
相似回答