• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

12분 경 질문

24.03.04 18:06 작성 조회수 75

1

스크린샷 2024-03-04 180523.png여기서 i=3이라고 했을 때 printf에서 왜 2로 출력되는지 궁금합니다. 감소 연산자 시그널이 없어서 3으로 나와야 하는 것이 아닌 건가요?

답변 1

답변을 작성해보세요.

1

Soobak님의 프로필

Soobak

2024.03.05

안녕하세요, 질문&답변 도우미 Soobak 입니다.

 

int i = 3;
int l = 2 * --i;
printf("%d %d\n", i, l);
  • --ii 의 값을 먼저 1 만큼 감소시킵니다.
    따라서, i3 에서 1 감소하여 2 가 됩니다.

 

  • 그 후, l = 2 * 2; 가 되므로, l 의 값은 4 가 됩니다.

  • printf() 함수는 i 의 값인 2 와, l 의 값인 4 를 출력합니다.
    따라서, 출력은 2 4 가 됩니다.