자 여기에서 while문에서의 좋은 점이 나옵니다. for문은 무한루프를 돌리기가 복잡한데 while 문은...
while(1) // 끝!
너무 간단하죠? 네. while문은 주로 무한루프를 쓸 때 사용하는데, 이 무한 루프라는 것은 말 그대로 무한대로 도는 거에요. 그런데 여기서 문제점이 있어요. 무한으로 돌면 프로그램이 끝나지 않는다는 거죠. 그래서 break라는 게 있는 건데, 이거 어디서 많이 보시지 않았나요? 그렇죠? switch-case문에서도 break를 사용했습니다. while 문에서는 이렇게 break문을 사용합니다.
int i; while(1){ i++; if(i > 100){ break; } }
이렇게 하면 i가 100보다 커졌을 때 while문에서 나오겠죠?
continue문은 주로 for문에서 많이 사용하는데, continue면 '계속'이라는 뜻이잖아요. 그냥 계속하라는 건 그냥 가는 거 아닌가요? 라는 질문을 하실 수가 있는데, 그 continue가 아닙니다.
int i; for(i = 0; i < 100; i++){ if (i % 2 != 0){ // %는 나머지를 의미합니다. continue; } printf("%d\n", i); }
여기에서 continue는 밑에 반복문 코드를 무시하고 반복을 다시 시작한다는 뜻이에요. 그러니까 이 프로그램의 결과는 1부터 100까지의 짝수가 출력이 되겠네요