더북(TheBook)

이렇게 5문제를 풀고 나면 for 문을 탈출합니다. 마지막으로 5문제 중 정답을 맞힌 개수를 출력합니다.

5.5 프로젝트.c

int main(void) {
    (중략)
    printf("\n\n비밀번호 %d개를 맞혔습니다.\n", count);
    return 0;
}

여기서 한 가지 수정할 부분이 있습니다. 반복문의 첫 번째 if 문에서 변수 answer의 값이 -1이면 프로그램을 종료한다고 했는데, 실제로는 break 문으로 for 문만 탈출합니다. 코드를 실행해 -1을 입력하면 프로그램을 바로 종료하지 않고 비밀번호를 몇 개 맞혔는지 출력하고 나서 종료합니다.

그래서 ifbreak 문을 exit(0)으로 바꿔야 합니다. exit(0)은 그 뒤에 어떤 문장이 있든 상관없이 바로 프로그램을 종료합니다.

5.5 프로젝트.c

if (answer == -1) { 
    printf("\n프로그램을 종료합니다.\n");
    // break;
    exit(0); 
} …

Note exit( ) 함수로 프로그램 종료하기

exit()는 현재 실행 중인 프로그램을 종료하는 함수입니다. 이때 소괄호에 넣는 전달값에 따라 종료 의미가 다릅니다. 앞에서처럼 0을 넣으면 정상 종료이고, 다른 숫자(일반적으로 1)를 넣으면 오류 발생으로 인한 종료입니다. 그리고 exit() 함수는 stdlib.h 파일에 포함되어 있으므로 stdlib.h 파일을 추가해야 프로그램에서 사용할 수 있습니다.

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