关于手动实现POW函数数值不准的问题
各位仁兄,请帮忙查看为何如下代码实现POW函数会报错。我输入2^3 结果是4..I为统计次数,谢谢。
#include <stdio.h>
int main(void)
{
int x,y,i;
scanf("%d %d",&x,&y);
for (i=1;i<y;i++)
{
x=x*x;
++i;
}
printf("%d\n",x);
printf("%d\n",i);
return 0;
}
[解决办法]
int main(void)
{
int x,y,i;
scanf("%d %d",&x,&y);
int tmp = x;
for (i=1;i<y;i++)
{
x *= tmp;
//++i;
}
printf("%d\n",x);
printf("%d\n",i);
return 0;
}