반응형
주의_1 while문 안에 switch를 사용할 때
위와 같이 while문 안에 if 문을 써서 조건을 만족하면 break 문을 사용하여 while 문을 탈출 시킬수 있다
그런데 조건문중에 switch 문이 존재하고, while문과 switch 문을 아래와 같이 사용하면
break 문이 있다 치더라도, while문을 빠져나오지 못한다, 이유는 switch 문 안에 break문의 용도는
다음 케이스 문을 거치지 않고, switch문을 중단 시키는 용도 뿐이지, while문을 빠져나오진 못한다
해결책
빠져나오게 하고 싶다면, switch 문을 가장 마지막에 두고, switch 문의 case 를 만족할때
while문의 조건을 두고 있는 bool 변수를 false 시키는 것이다, 그러나, while 문안에 if문, break문 처럼
원하는 부분에서 중단 시킬 수 없다
또는 return 문을 써서 switch 문도 while 문을 원하는 지점에서 바로 탈출 할 수 있기는 하지만 그와 동시에 전체 함수가 종료 된다.
반응형
'C++ > Error, Exception, 주의' 카테고리의 다른 글
C언어, Queue, pop() 구현하던 도중 shallow copy와 비슷한 문제 발생 (0) | 2020.03.18 |
---|---|
member initializer list 사용시 주의 (0) | 2020.03.17 |
EX02 HEAP CORRUPTION DETECTED (0) | 2020.03.07 |
EX01_읽기 엑세스 위반 (0) | 2020.03.07 |