인프런 커뮤니티 질문&답변

양주원님의 프로필 이미지
양주원

작성한 질문수

홍정모의 따라하며 배우는 C언어

5.8 증가, 감소 연산자

12분 경 질문

작성

·

168

1

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

답변 1

1

안녕하세요, 질문&답변 도우미 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 가 됩니다.

     

양주원님의 프로필 이미지
양주원

작성한 질문수

질문하기