[求助]POW函数的问题
#include<stdio.h>#include<math.h>
int main(void)
{
unsigned int n,i,j;
long sum=0;
unsigned int name[]={1,2,3,4,5,6,7,8,9};
while(1)
{
char flag;
long temp=0,sum=0;
printf("Please Enter a Number:");
scanf("%d",&n);
for(j=0;j<n;j++)
{
long name2=0;
for(i=0;i<=j;i++)
{
temp=name[i]*pow(10,(j-i)); //这个地方有问题
name2+=temp;
}
sum+=name2;
}
printf("sum=%ld",sum);
printf("\nExit(Y/N)\n");
while(1)
{
scanf("%c",&flag);
if('Y'==flag||'y'==flag)
{
flag = 1;
break;
}
if(flag=='n'||flag=='N')
{
break;
}
}
if(flag==1)
{
flag = 0;
break;
}
}
getchar();
return 0;
}
在我标注的地方,当输入的n大于3以后,pow()函数就会出现问题,pow(10,1)=10,但是pow(10,2)却等于99,以后的是999,9999,不知道那里出了问题
我用的是Dev-C++4.9.9.2
请各位大侠帮帮忙
[此贴子已经被作者于2007-10-28 21:11:05编辑过]