Programming Tools/TCPL C Language

[C Language] Chap.3 Control Flow - Break, Continue

LiDARian 2021. 6. 10. 18:10
반응형

Break

break는 for, while, do, switch등 현재 작동 중인 부분에서 탈출하게 한다.

스페이스나 탭 등의 빈공간을 제거하는 프로그램을 짜보자.

#include<stdio.h>
#include<string.h>

int main(){
    char s[] = "Hello World       ";
    int n;

    for(n = strlen(s) - 1; n >= 0; n--)
        if(s[n] != ' ' && s[n] != '\t' && s[n] != '\n')
            break; // 공백문자를 만나면 for 문을 탈출한다.
    s[n+1] = '\0';

    printf("%s", s);
    return 0;
}

출력
Hello World

Continue

continue는 break처럼 탈출하지는 않고, 해당 loop를 스킵하고 다시 한번 loop로 진입한다.
for, while, do while에만 사용한다.

while과 do while의 경우 즉시 다시 진입하고, for의 경우 increment step(전에 말한 expr3)으로 진입하게 된다.

예시로 양수만 출력하는 프로그램을 만들어보자.

#include<stdio.h>

int main(){
    int a[] = {1,2,3,-2,-3,5};
    int n = 6;

    for(int i = 0; i < n; i++){
        if(a[i] < 0)
            continue; // 음수는 출력을 스킵한다.
        printf("%d\n", a[i]);
    }
    return 0;
}

출력

1235

반응형