int fac(int y)
{
int x=1;
while(x<y)
{
y*=x;
x++;
}
return y;
}
x=1이고 한 반복당 +1이 됨 , y=y*x가 x<y 까지 작동한다.
ex) y=4 일 때, y=4*1가 1<4이니 작동
... y=4*1*2, 2<4이니 작동
... y=4*1*2*3, 3<4이니 작동
.... y=4*1*2*3*4, 4<4가 됨, 비작동 된다.
.... return y=4*1*2*3
요렇게 작동할것이라 생각하는 데;;
뭔가 잘 못됫는 지 3이상 넘어가면 오버플로우 되는지 막 이상한 수가 나오는데;;
뭐가 잘 못된걸까요;;