int main(void)
{
int val1=10;
int val2=(val1--)+2;
printf(\"val1 : %d \\n\", val1);
printf(\"val2 : %d \\n\", val2);
}
첫번째로 출력되는 값은 val1을 10으로 초기화했기 때문에 10으로 출력될거 같은데 왜 9로 출력된다고 하죠?
val1-- 가 된 값은 어차피 val2로 들어가는 값이기 때문에, val1 자체에는 영향을 안주는거 아닌가요???
val1-- 는 val = val - 1; 을 수행했다고 생각하면 쉽습니다.
한마디로 --하는순간 val1은 10 에서 9가 되는거죠..
이거 꾸준글이냐?
아 헷갈렸네, -- 연산자가 뭐하는건지 모르니?
스코티스//그런데 --된 값은 val2이라는 변수내에서 거치는 과정아닌가여?
a--는 연산한 뒤에 1값을 감소하는..
그과정에서 --가 붙으면 그값도 빠지는거임
val-- 자체가 val의 값을 변경한다는 거야... val2랑 전혀 상관없어.. 그리고 변수는 그냥 변수야 내부에서 거치는 과정따위는 없어.
대입과정에서만 -1되는 걸로 착각한 듯
그렇다고 되지도 않지만
ㅠㅠ
val1-- 와 --val1은 다름. val1는 계산을 다 하고 val1값이 -1되는거고 --val1는 -1이 되고 그 후에 계산한다고 생각하면 댐. 나도 초보지만 그래도 ㅋㅋ
?? 질문의 내용을 잘못이해했네. val--는 val = val - 1;의 의미