a++, b-- 관련질문
권애교
2023.04.01
질문 제목 :a++, b-- 관련질문질문 요약 :a++, b-- 결과값이 예상외의 수가 나옵니다.질문 내용 : #include stdio.hint main(void)
{
int a, b, c, d, e;
a=10, b=20;
printf(%d, %d\n, a++, b--);
c=a++, d=++a, e=b--;
printf(%d, %d, %d, %d, %d, %d, %d\n, a, b, c, d, e, e++, ++e);
return 0;
}실행하면,10, 20
13, 18, 11, 13, 21, 20, 21이렇게 나옵니다.저의 예상결과는,10, 20
13, 18, 11, 13, 19, 18, 20이렇게 나와야 할 것 같은데..결과값 2행의 마지막 3개의 숫자의 결과가 틀렸습니다.
제가 실수한 연산과정을 알려주시면 감사하겠습니다.
-
갈매빛
뭐였지? 후위연산자였나? 그거때문인듯 하네요
예를들어
b=d=20;
a=b++;
c=++d;
일때 a에는 먼저 b의값이 들어가고난다음 b가 1증가하고, c에는 d의값이 커지고난다음 들어가서 a는 20, b는 21, c는 21, d는 21이 되는거죠 -
똥덩어리
수다님이 말씀해 주셨네요
printf 안에서
a++이 20
++a가 21이 나온건
순서때문인듯 하군요
++이 뒤에있으면 가장늦게 처리된다고 들었던것 같습니다 ^^