: int a = 10;
: int s = 0;
:
: s = a++;
:
: printf("%d",s);
:
: 여기서 s값이 10이나오는것이 궁금합니다..
:
: 연산자 우선순위로 볼때 a++ 이 먼저계산되고 그 값이 s에 들어갈것긑거든요..
:
: 풀어서 쓴다고 해도 s = a = a + 1 이 되질 않나요?
:
: -_-;; 웨 10이 나오는지 -_-;;
:
: 아.. 저의 허접함이 밀려옵니다. ㅡㅜ
님이 잘못생각하고 계신것 같군요..
11을 가지고 있는것은 a 되죠..
s = a++ 라인의 결과는 s = 10 , a = 10 입니다.
문제는 a++라는 거죠... ++a라면 결과는 s = 11, a=11 입니다.
++ 연산자가 뒤에 있을경우 s=a++라인 이 수행된 이후에 증가합니다..
번저 증가한후 대입하려면 s = ++a 해보세요..