C언어 기초질문입니다..

질문 제목 : c언어 변수 저장질문 내용 :

#include stdio.h

int main(void)
{
int num1=10;
int num2=(num1--)+2;

printf(num1 : %d \n, num1);
printf(num2 : %d \n, num2);
return 0;
}

이 식의 실행하면
num1 : 9
num2 : 12가 나오는데요.

num2는 후위감소이니까 num1의 값이 10인 상태에서 +2가 되어서 12가 나오는건 이해가 가는데..

num1이 10이 아닌 9가 되는건 후위감소가 이루어진 값이 최종 저장 되어서 그런건가요?

예를 들어서 만약 --num1일 경우
num2는 11이 될것이고 num1이 최종출력되는 값은 9로 일정한건지...

기초중에서도 기초 질문입니다만... 기초부터 배울때 제대로 짚고 넘어가고 싶어서요..ㅜㅜ

댓글 3

  • 아란 2026.10.18

    답변 감사합니다^^

  • 간지포텐 2026.10.18

    num1--이나 --num1는 num = num - 1;과 같습니다.
    연순 순위만 다를 뿐이죠.
    나머지는 알고 계신 내용이 맞습니다.

    num1--대신 --num1을 바꾸더라도 num1의 최종값은 9입니다. ^^

  • 큰꽃 2026.10.18

    네 그렇습니다.

C언어 다른 글

목록