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

C/C++ Q/A
[1001] Re:Re:[질문] 초보인데요.. unreachable code in function main 이라는 메시지가 자꾸 떠요.
또치 [] 3131 읽음    2002-08-16 08:54
음... 감동입니다 ^___^
이렇게 자세히 알려주시다니.
제가 고수가 되면 저도 지금의 저같은 분들에게 도움이 될 수 있도록 할게요. ^^*

다시 한번 감사. 꾸벅 ( - - ) ( _ _ )



김백일 님이 쓰신 글 :
: 또치 님이 쓰신 글 :
: : main()함수 내에 프로그램을 빠져나오기 위해 [return 0; ]을 입력했어요. 그런데 turbo c로
: : compile하는 과정에서 꼭 unreachable code in function main, 이라는 에러 메시지가 뜨면서
: : 컴파일을 할 수가 없어요. 다음은 제가 애를 먹었던 프로그램 중 하나 입니다. 보시고 해결 방안을 알려주시면 넘 고맙겠습니다. 꾸벅 ( - - ) ( _ _ )
:
: 컴파일러는 exit()문 자체가 루프를 빠져나가는 기능을 한다는 것을 알지 못합니다.
: (사람이라도 exit()의 기능을 알려면 도움말을 읽어야 하잖아요!)
: 그래서 무한 루프로 판정해버리죠.
:
: exit(); 문은 예기치 못한 에러와 같은, 예외 처리에만 쓰시는 것이 좋습니다.
: 그 외에는 가능한 한 쓰지 마세요.
: 이렇게 루프를 빠져나가는 기능을 하려고 하면 안됩니다!
:
: 코드를 다음과 같이 고치면 되겠네요.

: : #include <stdio.h>
: : #include <stdlib.h>
: :
:   int main() // main()의 리턴 타입을 지정하지 않으면 int가 되지만, 관례상 그냥 적으세요.
: : {
: :    int answer;
: :
:      do {
: :       puts("Enter a value between 1 and 10, 0 to exit: ");
: :       scanf("%d", & answer);
: :
: :       switch(answer)
: :       {
:           case 0:
:           break;
:           case 1: case 2: case 3: case 4: case 5: // 그냥 이렇게 가로로 붙이세요.
:               puts("You entered the value between 1 and 5.\n");
:           break; // switch 문 안에서 {}를 쓰지 않습니다.
:           case 6: case 7: case 8: case 9: case 10:
:               puts("You entered the value between 6 and 10.\n");
:           break;
:           default:
:               puts("Try again...\n);
: :       }
:      } while (answer != 0);
:      // 무한 루프를 쓰느니, 그냥 이렇게 조건을 다시 검사해 주시는게 더 낫습니다.
:     
:      return 0;
: : }
:
: 아니면, switch문 보다는 차라리 if문을 쓰시는 것이 이 경우엔 더 낫겠네요.
:
: : #include <stdio.h>
: : #include <stdlib.h>
: :
:   int main()
: : {
: :    int answer;
: :
:      while (1) { // 왜 굳이 2를 쓰셨었죠? 관례적으로 1을 쓰는 겁니다.
: :       puts("Enter a value between 1 and 10, 0 to exit: ");
: :       scanf("%d", & answer);
: :
:         if (answer == 0)
:               break;
:         else (1 <= answer && answer <= 5)
:               puts("You entered the value between 1 and 5.\n");
:         else (6 <= answer && answer <= 10)
:               puts("You entered the value between 6 and 10.\n");
:         else
:               puts("Try again...\n);
:      }
:     
:      return 0;
: : }

+ -

관련 글 리스트
3491         Re:Re:[질문] 초보인데요.. unreachable code in function main 이라는 메시지가 자꾸 떠요. 남병철.레조 1924 2002/08/16
3490         Re:Re:[질문] 초보인데요.. unreachable code in function main 이라는 메시지가 자꾸 떠요. 김백일.cedar 1784 2002/08/15
1001         Re:Re:[질문] 초보인데요.. unreachable code in function main 이라는 메시지가 자꾸 떠요. 또치 3131 2002/08/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.