-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
12분 경 질문
24.03.04 18:06 작성 조회수 75
1
여기서 i=3이라고 했을 때 printf에서 왜 2로 출력되는지 궁금합니다. 감소 연산자 시그널이 없어서 3으로 나와야 하는 것이 아닌 건가요?
답변을 작성해보세요.
1
Soobak
2024.03.05
안녕하세요, 질문&답변 도우미 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
가 됩니다.
답변 1