iOS/정보처리기사

[정보처리기사] C언어 - 함수, 반복문 예제

Chafle 2022. 6. 21. 20:32
반응형

 

ex.

 

#include<stdio.h>

int func(int n);

int main(void) {

int num;

printf("%d₩n", func(5));

rerturn 0;

}

 

int func(int n) {

if(n < 2)

return n;

else {

int i, tmp,, current = 1, last = 0;

for(i = 2; i<= n; i++) {

tmp = current;

current += last;

last = tmp;

}

reurn current;

}

 

 

 

해설

 

 

  num n (n<2) i(i<=n) i++ tmp current(current += last) last
초기값   5 2     1 0
5<2 거짓 -> else문 수행     2<=5 참 3 1 1+0 = 1 1
      3<=5 참 4 1 1+1 = 2 1
      4<=5 참 5 2 2+1 = 3 2
      5<=5 참 6 3 3+2 = 5 3
      6<=5 거짓 -> for 블록 나온다.        
return current 5 - - - - - -

 

for를 나오면 return current가 있는데

current값만 리턴시키고 나머지 함수 내에서 쓰였던 지역변수(n, i, tmp, cur, last)는 사라진다.

return 값은 호출한 func(5)로 들어가고 5를 출력하게 된다.

반응형