연산 질문좀요
누리봄
2023.04.01
질문 제목 : 증가,감소 연산자이해가 안돼요질문 내용 :
/* printf1c */
#include stdio.h
int main(void)
{
int val1=10;
int val2=(val1--)+2;
printf(val1 : %d \n, val1);
printf(val2 : %d \n, val2);
return 0;
}
이렇게 잇으면요 6번째 줄에 선연산 후감소니까 6번째 줄이 지난 다음부터는 감소 되서 표현 되는거자나요
근데 실행결과가 val1:9
val2:12 가나오네요
원래 val1:9
val2:11 나와야하지 안나요
int val1=10; 을 선언하고
int val2=(val--)+2; 를선언햇으니까 이다음줄에 나오는 val1 은 감소해서 9가 나오는건 알겟어요
근데printf(val2 : %d \n, val2); 여기서 왜 12가 나오죠 ? int val2=(val1--)+2; 이면 val1=10 이니까
9+2=11 이 되지안나요 ?
-
행운아
후위연산자는 한 라인이 다 실행후 연산이 이루어진다고 생각하시면됩니다.
즉 val2 = 10+2 한다음 val1 을 1감소한다고 생각하시면되요.