Skip to content

문제 4 · 전위/후위 증가와 부작용

문제 4 [1점]

아래 코드를 읽고, 출력을 예상하여 작성하세요.

cpp
double a = 3.7, b = 2.3;
double c = ++a + b++;
cout << ((++a + b++) < c) << endl;
풀이 및 해설

전위 증가 ++a먼저 1 증가시킨 값을, 후위 증가 b++증가 전의 값을 식에 사용합니다.

1) c 계산 (a = 3.7, b = 2.3)

  • ++a: a4.7이 되고 그 값 4.7을 사용
  • b++: 현재 값 2.3을 사용한 뒤 b3.3
  • c = 4.7 + 2.3 = 7.0

2) 비교식 계산 (a = 4.7, b = 3.3)

  • ++a: a5.7이 되고 그 값 5.7을 사용
  • b++: 현재 값 3.3을 사용한 뒤 b4.3
  • 좌변 = 5.7 + 3.3 = 9.0

3) 비교: (9.0 < 7.0) 은 거짓이므로 bool 출력은 0.

0

👉 실습(C++)에서 확인하기

PDF