exit? return
글쓴이: ch0nn0m / 작성시간: 월, 2010/10/11 - 3:04오후
q를 눌렀을대 무한루프로 뭐가 계속 나오는데...
왜 그런걸까요??
exit(0)자리에 return 0; 으로 바꾸게 된다면 정상적인 종료가 되는데...
알려주세요
int a;
while(1)
{
printf("Choose the number: ");
scanf("%d",&a);
switch(a)
{
case 1:
insert();
break;
....
case 'q':
exit(0);
}
}Forums:


exit(0)와 return의
exit(0)와 return의 문제라기 보다, scanf에 입력되는 데이터 타입(정수형,문자형)의 문제같습니다.
scanf("%d", &a);
아래와 같이 수정하시면,
if (!scanf("%d",&a)) ...;
scanf의 입력에 문제가 있을시 예외처리를 할 수 있습니다.
그리고 switch(a) 에서 a는 정수형이므로 case 'q': 보다는
case 0: 이나 case 9: 이렇게 데이터 타입을 일치시켜 주는게 좋을듯 하네요.
From:
*알지비 (메일: rgbi3307(at)nate.com)
*학창시절 마이크로마우스를 만들었고, 10년동안 IT관련 개발자로 일하고 있음.
*틈틈히 커널연구회(http://www.kernel.bz/) 내용물들을 만들고 있음.
*((공부해서 남을 주려면 남보다 더많이 연구해야함.))
From:
*알지비 (메일: rgbi3307(at)nate.com)
*커널연구회(http://www.kernel.bz/) 내용물들을 만들고 있음.
*((공부해서 남을 주려면 남보다 더많이 연구해야함.))