帮帮我啊大佬!!!!!!!!我希望用下面这个程序计算n的m次方,为甚不对呢
#include<stdio.h>
int power(int ,int,int * );
int main(void)
{
int n,m,sum;
int p;
printf("give me a^x,q qto quit");
while ((scanf("%d",&m))&&(scanf("%d",&n)))
{
if(m==0&&n==0)
{
printf("No!");
continue;
}
else
{
power(m,n,&p);
printf("\nit is%d\n",p);
}
}
}
int power(int m,int n,int *p)
{
int count=1,sum=1;
if(m==0&&n!=0)
*p= 0;
if(n==0)
*p= 1;
if(n<0)
{
m=1/m;
n=-n;
for(;count<=n;n++)
sum*=m;
*p=sum;
}
if(n>0)
{
for(;count<=n;n++)
sum*=m;
*p=sum;
}
}