게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
정말 간단한 재귀함수 에 대해서 질문있습니다.
게시물ID : programmer_14689짧은주소 복사하기
작성자 : 우아앙무지개
추천 : 0
조회수 : 349회
댓글수 : 4개
등록시간 : 2015/11/30 14:43:13
옵션
  • 본인삭제금지
  • 외부펌금지
학원에서 배운 내용인데요.
재귀 함수가 자기 자신을 다시 호출하는 거잖아요.

아래 printData 보면 만약 nData 가 0보다 작을때 종료가 되고 그렇지 않으면 
nData 의 값에서 매번 1씩 감소를 시킨후 printf 로 그 감소된 nData의 값이 출력이 되어야 하는데
그러면 5 4 3 2 1 0 이런식으로 출력이 되어야 하는게 아닌가요?.. 
그런데 0 1 2 3 4 5 이런식으로 출력이 되네요..

반대로 printData(nData -1); ,printf("%d\n", nData); 의 위치를 변경했더니 5 4 3 2 1 0 으로 출력되고.. 
제가 뭔가 잘못 알고있는건가요? 이해가 잘 안되네요..

--------------코드---------------
#include "stdafx.h"

void printData(int nData);

int main()
{
printData(5);
    return 0;
}

void printData(int nData)
{
if (nData < 0)
return;


printData(nData -1);

printf("%d\n", nData);
}
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호