この関数の実行結果は1、2,4,8、16,32なのですが
この過程がわからないので
どなたかおわかりでしたらお教えください。
beki関数のxの値には何が入ってるのかもわからないし、
実行結果が1になる過程がさっぱりわかりません。
(2×iで答えは0になるんじゃないかと思ってるんですが。)
よろしくお願いします。

#include<stdio.h>
int beki(int x,int y);

main(){
int i;
int dt;

for(i=0;i<=5;i++){
dt=beki(2,i);
printf("%d\n",dt);
}
}


int beki(int x,int y)
{
int i;
int dt=1;

for(i=1;i<=y;i++){
dt = dt * x;
}
return dt;
}