Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[2691] Re:Re:Re: 동감합니다.
김백일.cedar [cedar] 1205 읽음    2003-05-26 11:25
이경문 님이 쓰신 글 :
: 강도욱님에게 토를 다는 건 아니지만요, 일반적으로 recursion에는 일반적으로 exit condition이 들어가는 것이 좋습니다. portability면인 입장에서도요.
: 그래서 제 생각에는 main의 첫번째 인자에 depth를 나타내는 인자가 들어가는 것이 좋을 것 같다는 생각이 듭니다(물론 스택을 그만큼 쓰기 때문에 느려 지는 단점이 있기는 하지만).

맞습니다. Recursion을 쓸 때 이렇게 정적 전역 변수를 쓰는 방법은 절대 권장할 만한 방법이 아닙니다. 인자에 depth를 쓰는 방법이 제대로 된 방법이죠.

: 그런데 main함수에 인자를 바꿀 수 있나....?

당근 안됩니다. ANSI C++에서 인정하는 main의 원형은 다음 두가지 뿐입니다.
int main()
int main(int argc, char* argv[])

굳이 depth를 쓰려면 명령행 인자(command line parameter)로 적는 방법이 있겠네요.
물론 귀찮게 atoi()와 itoa()로 문자열과 정수를 서로 변환해야 하죠.

: 리포트같은데 문제 내용도 좀 이상하구... 쩝.

정말 '문제'있는 '문제'로군요.
이렇게 실무에서 절대 사용되서는 안되는 걸 '문제'로 내는 교수들은 정말 '문제'가 있습니다.

: 강도욱 님이 쓰신 글 :
: : //이렇게 해보세요.. DevC++ 컴파일러에서 테스트해보니 잘 되는 군요..^^
: :
: :
: : #include <stdio.h>
: : #include <stdlib.h>
: : static int dw=1; //정적 변수 선언 및 초기화 ..
: :
: : int main(void)
: : {
: :     printf(" The universe is never ending! %d\n", dw);
: :     dw++;
: :     if (dw > 17)
: :     {
: :         system("pause");
: :         return dw = 0; // 반환값이 0 이면 종료하죠..^^
: :     }
: :     else
: :     {
: :          main();         
: :          return dw;
: :     }  
: : } 
: :
: :
: :
: :
: :
: :
: : 초보자 님이 쓰신 글 :
: : : #include <stdio.h>
: : :
: : : int main(void)
: : : {
: : :     printf(" The universe is never ending! ");
: : :     main();
: : :     return 0;
: : : }
: : : 이걸요 정적 변수를 사용해서 main함수만으로 17번 호출한뒤 종료하게 하는 것인데요
: : : 아시는분 도움좀 주세요-_ㅠㅠ
: : :
: :

+ -

관련 글 리스트
2675 간단한 재귀 호출 문제인데 좀 봐주세요 초보자 1218 2003/05/24
2677     Re:간단한 재귀 호출 문제인데 좀 봐주세요 강도욱 1177 2003/05/25
2684         Re:Re:간단한 재귀 호출 문제인데 좀 봐주세요 이경문 1222 2003/05/26
2691             Re:Re:Re: 동감합니다. 김백일.cedar 1205 2003/05/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.