すみませんが教えて下さい。
下の様なプログラムを組んだところ、「関数は値を返すべき」という忠告が出ました。
どこか間違ってますでしょうか?分かる方、ご教授の程お願いします。

#include <stdio.h>

int beki(int a,int b);

main(){
int x,y,z;

x=2;
y=3;

z=beki(x,y);

printf("%dの%d乗は%dです。",x,y,z);

}

int beki(int a,int b){
int zz,i;
zz=1;

for(i=0;i<b;i++){

zz=zz*a;

}
return zz;
}