더북(TheBook)

예시를 하나 더 보겠습니다. 다음과 같이 작성하고 실행해 보세요.

3.2 연산자.c

int main(void) {
    int b = 20;
    printf("b는 %d\n", ++b);
    printf("b는 %d\n", b++);
    printf("b는 %d\n", b);
    return 0;
} 

실행결과 icon_con

b는 21
b는 21
b는 22

첫 번째와 두 번째는 21이 나오고 세 번째만 22가 나왔습니다. 첫 번째와 두 번째 값이 왜 같을까요? 이는 ++ 연산자의 위치에 따라 연산 순서가 달라지기 때문에 그렇습니다. ++b처럼 ++ 연산자가 변수 앞에 있을 때(전위라고 함)는 먼저 1 증가 연산을 한 후에 출력 작업을 수행합니다. 그리고 b++처럼 ++ 연산자가 변수 뒤에 있을 때(후위라고 함)는 먼저 출력 작업을 수행한 후에 다음 줄로 넘어가기 전에 1 증가 연산을 수행합니다.

그림 3-2 ++ 연산자의 연산 순서

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