while문에 대한 궁금증

ndandy의 이미지

안녕하세요.

회사 소스 수정하다가 궁금한게 있어서 올립니다.

while(token != NULL)
{
if(token == "") break;

...
...

break;
}

위의 while문 마지막에 break 있는 것은 결국 1회성 loop라는 것인데,

switch문에서 case가 3~4개 이하인 경우는 if문으로 수정해주는 것 것처럼

위의 while문을 if문으로 바꿔줬을 때에도 차이가 있을 지요..

yukariko의 이미지

중간에 continue가 있다면 달라지고,
break가 중간에 있으면 빠져나오는 역할로 사용되기때문에
소스의 수정이 필요해보이네요.

unipro의 이미지

프로그래밍 트릭일 수 있습니다.
한 묶음의 코드 수행 중에 특정 조건이 되면 바로 그 블럭의 밖으로 분기하는 경우에 사용합니다.
다른 제어문으로 사용한 것보다 더 깔끔한 코드가 나옵니다.

do {
    if (token == NULL || token == "") break;
 
    // ... do something ...
    // ...
    // ...
 
    if (token == "xxx") break;
 
    // ... do something else ...
    // ...
    // ...
 
    if (token == "yyy") break;
 
    // ... do something else more ...
    // ...
    // ...
} while (0);

내 블로그: http://unipro.tistory.com