#include<stdio.h>

double asd(double dx,int no)
{
int i;
double tmp = 1.0;

for(i=1;i<=no;i++)
tmp *= dx;
return (tmp);
}

int main(void)
{
int n;
double x=0.0;

printf("No.1:");
scanf("%f",&x);
printf("No.2:");
scanf("%d",&n);

printf("answer=%.2f",asd(x,n));

return 0;
}
実行結果が
No.1:5.0
No.2:2
answer=inf
となります。なぜでしょう?