void fibonacci(int prev_number, int number)
{
static int i = 1;
while (i++ < count)
{
int next_num = prev_number + number;
prev_number = number;
number = next_num;
printf("%d ", next_num);
fibonacci(prev_number, number);
}
}
책보다 이런함수가 나왓음
count는 scanf로 3이상 int 입력받은 전역변수인데
이상태면 while에서 fibonacci 호출하면 그 함수에서 또 static int = 1로 초기화되고 그럼 i++ < count 참이니까 또 fibonacci 함수 호출하고 무한루프되는거아님..?
static 지역변수는 초기화 한번만 하고 그 값을 다음 호출때도 유지함
내생각이맞구나 책에 스태틱함수 ㅈㄴ 대충나와있어서..고마웡