해결된 질문
작성
·
117
1
출력이 0으로 나오는건가요..? l은 2가 되는게 납득이 갑니다만 40번째 줄에서 i가 1이 감소하는 건가요??
답변 1
1
안녕하세요, 질문&답변 도우미 Soobak 입니다.
// ...
i = 1;
l = 2 * i--;
printf("%d %d\n", i, l);
//...
위 코드에서 :
i
가 1
로 초기화 됩니다.
l
에 2 * i--
의 결과가 할당됩니다.
여기서, 사용된 후위 감소 연산자 i--
는 현재 i
의 값인 1
을 사용해서 곱셈을 수행한 다음, i
의 값을 감소시킵니다.
그래서, l
은 2 * 1
이 되어 2
가 되고, i
은 0
으로 감소합니다.
printf("%d %d\n", i, l);
은 i
와 l
의 값을 출력합니다.i
는 곱셈에서 사용된 후 감소되었기 때문에 이제 0
입니다.l
은 이해하신 것 처럼 2
입니다.
감사합니다...완전히 이해했어요