C 언어 기초

int i = 5;
int a = i++;
int b = ++i;
printf("%d %d %d\n", a, b, i);

전위와 후위 ++를 사용한 위의 코드를 실행했을 때의 출력으로 올바른 것은?

  1. A5 6 6
  2. B5 7 7
  3. C6 7 7
정답과 해설 보기

정답: B. 5 7 7

후위 i++는 식의 값으로 증가시키기 전의 값을 사용하고, 그 후에 i를 1 증가시킵니다. 따라서 a에는 5가 들어가고 i는 6이 됩니다. 전위 ++i는 먼저 i를 1 증가시킨 뒤 증가시킨 후의 값을 식의 값으로 하므로, i는 7이 되고 b에도 7이 들어갑니다. 출력은 '5 7 7'입니다.

이 분야 연습하기 분야로 돌아가기

C 언어 기초의 다른 문제

  1. if 문의 조건에 =를 쓴 위의 코드를 실행했을 때의 출력으로 올바른 것은?
  2. 레지스터 값 reg의 비트 2가 1인지를 조사할 생각으로 위의 코드를 작성했다. 실행했을 때의 결과로 올바른 것은?
  3. uint8_t는 8비트의 부호 없는 정수형이다. 위의 코드를 실행했을 때의 출력으로 올바른 것은?
  4. uint8_t는 8비트의 부호 없는 정수형이다. x를 10번 증가시키는 위의 코드를 실행했을 때의 출력으로 올바른 것은?
  5. unsigned char는 8비트, int는 32비트로 한다. 위의 코드를 실행했을 때의 출력으로 올바른 것은?