i가 0 인 경우
power(2,0) = 1
i가 1 인 경우
power(2,1)
1은 0보다 작거나 같지 않으므로 power(2,0)을 호출합니다.
power(2,0) = 1이므로
power(2,1)이 리턴 하는 값은
2 * power(2,0) = 2 * 1 = 2 입니다.
i가 2인 경우
power(2,2)
2는 0보다 작거나 같지 않으므로 power(2,1)을 호출합니다.
power(2,1) = 2 * power(2,0) = 2 * 1 = 2 (바로 위에서 구했지요)
그러므로 power(2,2)가 리턴하는 값은
2 * power(2,1) = 2 * (2 * power(2,0)) = 2 * (2 * 1) = 4 입니다
i가 3인 경운
power(2,3)
3은 0보다 작거나 같지 않으므로 power(2,2)를 호출합니다.
그러면 답은 2 * 4 = 8 이겠지요.
즉 이 함수는 2 의 i 승을 구하는 함수입니다.
도움이 되셨기를..
freeagle
: #include
: int power(int x, int n);
:
: main()
: {
: int i;
: printf(" ***power of 0 to 10 *** ** value**")
: for(i=0;i<=10;i++)
: printf(" power(2,%d) %8d",i,power(2,i));
: }
:
: int power(x,n)
: int x,n;
: {
: if(n<=0)
: return(1);
: else
: return(x*power(x,n-1));
: }
:
: 요기까지인데염..
: 도저히 해석이 안되어서 그러니 조언부탁드립니다..