请问printf后面的那个输出参数有什么要求嘛,为什么pow()当做输出参数写进去一直显示0;
pow需要math.h,返回值是double,printf里要用%lf
printf("pow(3,%d) = %.0lf\n",i,pow(3,i));
或者转换成long型
printf("pow(3,%d) = %ld\n",i,(long)pow(3,i));
你的具体代码怎么写的啊?
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i,m;
scanf("%d",&n);
for(i=0;i<=n;i++)
{
printf("pow(3,%d) = %d\n",i,pow(3,i));
}
return 0;
}