더북(TheBook)

icon_wait

for 반복문에서 세미콜론(;)을 쓰지 않도록 주의하세요!

C 언어를 배운지 얼마 안 된 사람들이 반복문을 사용하면서 흔하게 하는 실수가 있습니다. 바로 for 반복문을 사용하고 세미콜론(;)을 쓰는 경우입니다.

만약 for 반복문 끝에 세미콜론(;)을 붙이면 어떻게 될까요?

컴파일 오류는 발생하지 않으나, 우리가 원하는 결과가 나오지 않을 수도 있습니다.

예시로 다음 코드를 실행해 볼까요?

for_5.c

#include <stdio.h>
 
main() {
    int i;
 
    for (i = 0; i < 10; i++);
        printf("hi\n");
}

실행 결과

hi

원래는 “hi”가 10번 출력되어야 하지만, 한 번만 출력되었네요. 문장 끝에 세미콜론(;)을 붙일 경우 for 반복문이 처음 한 번만 적용되고 완료됩니다. 따라서 “hi”가 한 번만 출력되고 말았습니다.

간단한 문제지만, 컴파일 오류가 표시되지 않기 때문에 초보 프로그래머는 오류의 원인을 찾기가 어렵습니다. 오류를 수정하는 디버깅을 하기는 더 어렵겠지요. 그러므로 for 반복문 끝에는 세미콜론(;)을 붙이지 않도록 주의하세요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.