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

C/C++ Q/A
[1368] Re:Re:감사합니다. ^^
홍길한 [tipon74] 1343 읽음    2002-10-17 21:38
이영우 님이 쓰신 글 :
: 디버그는 프로그램을 만드실때 가장 중요한 요소입니다.
: 디버그는 컴파일이 된 경우에만 가능하구요.
: 초기에는 프로그램 파악이 어렵지만, 숙달하시면
: 수백,몇천라인도 눈으로 디버그가 됩니다. 물론 어려운 프로그램은 짧아도
: 디버깅을 거쳐야 로직이 판명되기도 합니다.
:
: 디버그 방법은..
: 일단 tc(터보씨)에서 아래 프로그램을 작성하시고,
: f9를 눌러보시면 컴파일이 되지요.
: control+f9를 누르시면 링크까지 끝나고 실행파일이 실행되며,
: 입력을 받으려고 할겁니다.
: 쉬운 디버그는 f7키만을 누르시면 가능합니다.
: f7(step over, 한줄씩 디버그)를 한번씩 누르시면, (조금 틀릴수도 있답니다)
: 누르실때마다..
:
: 1. main위치에 시작, 변수선언부분도 지나감.
: 2. scanf 이동
: 3. 입력받으려고 커서 대기
: 4. while()..
: 5. sum += ...
: 6. num = ....
: 7. while()...
: 8. sum+= ...
: 9. num = ..
: 이렇게 계속 나아갑니다.
: 결국 while()..,sum+=..,num=... 이 세라인이 계속 무한루프가 발생합니다.
:
: 각 변수의 그 상황의 값은 insert키로 넣으시면 tc의 아래창에
: 변동된 값이 계속 나옵니다.
: ins키 누르시고, keyvalue와 num을 넣어서 각 라인마다 변동되는 값을 찾아보세요.
:
: 왜 루프가 발생하는가?
: 결국 while문이 항상 true 값을 가지므로 무한루프가 발생하지요.
: 결국 조건안의 KeyValue값이 항상 0이 아니고, num이 5보다 항상 작으므로,
: 무한루프가 됩니다.
: 그럼 keyvalue는 초기입력값이므로, 그렇다고 치고..
: num은 왜 항상 5보다 작죠?
: 여기까지입니다. 직접 찾아보세요.
:

이영우님, 답변 정말 감사합니다.
상세한 설명 제게 도움이 되었습니다.
더욱 공부에 매진해야겠어요.
오늘 실행해 보니 되더군요.
무한루프는 없어지고 원래의 값이 나오더군요.
감사합니다. ^^

+ -

관련 글 리스트
1341 디버깅... 홍길한 1317 2002/10/13
1357     Re:디버깅... 이영우 1485 2002/10/16
1368         Re:Re:감사합니다. ^^ 홍길한 1343 2002/10/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.