C언어의 기초 문법

break, continue

빠져나오고(break), 그냥 계속(continue)하라는 문법

자 여기에서 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까지의 짝수가 출력이 되겠네요

댓글

댓글 본문
  1. Joel
    늦게 답변해서 죄송합니다 ㅠㅠㅠ 그동안 여기를 운영하고 있다는걸 잊고 있었네요;;;

    오타네요. 부등호가 반대여야 할텐데;;; 감사합니다. 수정하겠습니다
    대화보기
    • Resin
      if(i < 100){

      break;

      }

      이 부분은 i가 100보다 적을때 break되는거 아닌가요;
    버전 관리
    Joel
    현재 버전
    선택 버전
    graphittie 자세히 보기