27.6 for 반복문에서 중괄호 생략하기

for 반복문으로 반복할 코드가 한 줄이라면 다음과 같이 중괄호는 생략할 수 있습니다.

for_omit_brace.c

#include <stdio.h>

int main()
{
    for (int i = 0; i < 100; i++)
        printf("Hello, world!\n");    // 반복할 코드가 한 줄이라면 중괄호 생략

    return 0;
}

실행 결과

... (생략)
Hello, world!
Hello, world!
Hello, world!
Hello, world!

중괄호를 생략해도 결과는 똑같습니다. 단, for에서 반복할 코드가 두 줄 이상일 때는 중괄호 생략에 주의해야 합니다.

for_omit_brace_two_lines.c

#include <stdio.h>

int main()
{
    for (int i = 0; i < 100; i++)
        printf("for 반복문\n");        // 이 줄만 반복됨
        printf("Hello, world!\n");    // 이 줄은 한 번만 실행됨

    return 0;
}

실행 결과

... (생략)
for 반복문
for 반복문
for 반복문
for 반복문
Hello, world!

for로 반복할 printf가 두 개인데도 중괄호를 생략하면 첫 번째 printf만 반복됩니다. 즉, 첫 번째 printf가 100번 반복된 뒤에 두 번째 printf가 실행되어 Hello, world!는 한 번만 출력됩니다.

for로 반복할 코드가 두 줄 이상이라면 반드시 중괄호로 묶어주세요.

for_brace_two_lines.c

#include <stdio.h>

int main()
{
    for (int i = 0; i < 100; i++)
        printf("Hello, world!\n");    // 반복할 코드가 한 줄이라면 중괄호 생략

    for (int i = 0; i < 100; i++)
    {   // 반복할 코드가 두 줄 이상이라면 중괄호로 묶어줌
        printf("for 반복문\n");
        printf("Hello, world!\n");
    }

    return 0;
}

즉, 루프 본체가 한 줄이면 중괄호를 생략할 수 있고, 루프 본체가 두 줄 이상이라면 반드시 중괄호를 사용해야 합니다.