C语言有问题请求帮助

#include <stdio.h>
#include <stdlib.h>

double  getpower(int x,int y)
{int i;
double s;
for(i=1;i<=y;i++)
{if(y==0)
{s=1;
}
else{
s=x*getpower(x,y-1);
}
}
return s;
}
int main()
{int x,y;
scanf("%d%d",&x,&y);
printf("%d的%d次方结果是:%f",x,y,getpower(x,y));
return 0;}

为什么我输入3 3结果总是:
3 3
3的3次方结果是:0.000000

去掉for循环就可以了。

如下:

#include <stdio.h>
#include <stdlib.h>

double  getpower(int x,int y)
{
    int i;
    double s;

    if(y==0)
    {
        s=1;
    }
    else
    {
        s=x*getpower(x,y-1);
    }

    return s;
}

int main()
{
    int x,y;
    scanf("%d%d",&x,&y);
    printf("%d的%d次方结果是:%f",x,y,getpower(x,y));
}