파일 입출력 재귀에서 0나오면 빠져나가게 하는 법 좀..;;
에드윈
2024.04.01
질문 제목 : 파일 입출력 재귀에서 0나오면 빠져나가게 하는 법 좀..;;-질문 내용 : 파일에 내용 끝까지 읽는데 도중에 0이나오면 0 전에 있는 숫자까지만 출력 하는 프로그램인데요.
반복문에서는 그냥 if(n==0) return head; 해주니까. 참 편한데..;
재귀문에서는 if(n==0) return null;을 해주면.. 1 2 3 0 에서 1 2 3이 나와야되는데 1 2 까지만 나와버리는겁니다.
재귀문 특징이 맨 뒤에서부터 값을 읽어오는거잖아요? 그래서 생각해봤는데도.. 왜 3 이 안나오는지 알수가 없더라구요..;;
1 2 3 나오게 하려면 어떻게 해야 하는지 알려주세요 ㅠㅠ
pnode temp;
int n;
if( fscanf(infp,%d,&n)!= eof)
{
temp=(pnode)malloc(sizeof(node));
temp-data=n;
temp-next=makellr();
// if(n==0) return null; //여기에 넣으면 하나가 덜 출력되요 ㅠ..
return temp;
}
저 recursion하는 함수의 위치를 여기저기 순서를 바꿔보아도;; 되질 않네요;;
-
한국드립 2024-04-01
위 코드만으로는 알 수 없습니다.