열혈강의C 3단원 내용중 이해가 안되는것이..
해리
2023.04.01
질문 제목 :
열혈강의c 3-2의 내용중에서...
요약이라면....증가,감소 연산자에 대해서..;;질문 내용 :
#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로 나오는데
선연산 후감소라서 뭐 다음행부터 바뀐다고 하던데
num1=9나오는건 이해하겟는데 왜 num2=12나옴?? 이것도 다음행이니까 11되야되는거 아님???
-
덕이
int num2 = (num1--)+2; 라인 연산이 끝난 후에 num1-- 연산이 이루어진다고 생각하시면 됩니다.
int num2 = (num1--)+2;라인 이후 라인부터 감소된 num1 값이 적용되는거죠
증감 연산자가 앞에 오는 경우는 반대로 그 라인 위에서 증감이 수행된 후에
해당 라인이 수행된다고 생각하시면 되구요