do{}while(false)
1398 단어 [C 언어 노트]
do while 구문:
알다시피 Do while 순환은 Do {} 안의 코드를 한 번 실행한 다음에while () 로 조건이 진짜인지 판단하고 Do {} 안의 코드를 계속 실행하지 않으면 순환을 벗어나게 됩니다.물론 우리도break 점프 순환을 사용할 수 있고,continue로 이번 순환을 끝내고 다음 순환을 시작할 수 있다.do {
//
} while (); //
do{}while(false):
업무 중에 우리는do{}while(false)라는 코드를 쓰는 사람을 자주 발견할 수 있다. 처음 볼 때 헷갈린다. 위의 문법에 따라do{}while(false)처럼do{}안의 코드는 한 번만 실행할 수 있다는 것을 알 수 있다. 그렇다면 문제가 생겼다. 왜 이렇게 써야 하는가?
생각해 보면 우리는 업무 중에 두 번째 판단은 첫 번째 판단의 결과에 의존해야 하고 심지어 세 번째 판단은 두 번째 판단의 결과에 의존해야 한다.다음 스타일의 코드:if (one == true) {
if (two == true) {
if (three == true) {
// , 。
//...
}
}
}
그럼 이런 코드는 징그러워 보이는지 여러 가지 판단이 겹쳐서 코드 논리를 정리하기가 쉽지 않을 뿐만 아니라 틀리기 쉽다.그럼 시원한 코드 스타일로 이 문제를 해결할 수 있을까요?답은 틀림없이 있을 것이다. 바로 우리가 위에서 언급한do{}while (false) 이다.
코드로 구현하는 방법은 다음 코드 예를 참조하십시오.do {
if (one == false) {
break;
}
if (two == false) {
break;
}
if (three == false) {
break;
}
} while (false);
뒤의 판단은 앞의 판단 결과에 의존하는 이상 모든 조건이false와false의 직접break에서dowhile 순환을 벗어나는지 판단한다.이런 코드 스타일은 아까의 그 작법보다 훨씬 상쾌하지 않습니까?
결론:
do{}while(false)의 가장 큰 의미는ifelse의 끼워넣기 구조 판단 논리를 간소화하는 것이다.
do {
//
} while (); //
업무 중에 우리는do{}while(false)라는 코드를 쓰는 사람을 자주 발견할 수 있다. 처음 볼 때 헷갈린다. 위의 문법에 따라do{}while(false)처럼do{}안의 코드는 한 번만 실행할 수 있다는 것을 알 수 있다. 그렇다면 문제가 생겼다. 왜 이렇게 써야 하는가?
생각해 보면 우리는 업무 중에 두 번째 판단은 첫 번째 판단의 결과에 의존해야 하고 심지어 세 번째 판단은 두 번째 판단의 결과에 의존해야 한다.다음 스타일의 코드:
if (one == true) {
if (two == true) {
if (three == true) {
// , 。
//...
}
}
}
그럼 이런 코드는 징그러워 보이는지 여러 가지 판단이 겹쳐서 코드 논리를 정리하기가 쉽지 않을 뿐만 아니라 틀리기 쉽다.그럼 시원한 코드 스타일로 이 문제를 해결할 수 있을까요?답은 틀림없이 있을 것이다. 바로 우리가 위에서 언급한do{}while (false) 이다.
코드로 구현하는 방법은 다음 코드 예를 참조하십시오.
do {
if (one == false) {
break;
}
if (two == false) {
break;
}
if (three == false) {
break;
}
} while (false);
뒤의 판단은 앞의 판단 결과에 의존하는 이상 모든 조건이false와false의 직접break에서dowhile 순환을 벗어나는지 판단한다.이런 코드 스타일은 아까의 그 작법보다 훨씬 상쾌하지 않습니까?