인프런 커뮤니티 질문&답변
답변 1
1
안녕하세요, 질문&답변 도우미 Soobak 입니다.
int i = 3;
int l = 2 * --i;
printf("%d %d\n", i, l);--i는i의 값을 먼저1만큼 감소시킵니다.
따라서,i는3에서1감소하여2가 됩니다.
그 후,
l = 2 * 2;가 되므로,l의 값은4가 됩니다.printf()함수는i의 값인2와,l의 값인4를 출력합니다.
따라서, 출력은2 4가 됩니다.






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