1. 

초기값 a=2

- <1> : a의 초기값이 2이고 <1>이 전치 증가 연산자이므로 연산 전에 값이 증가하여 3이 됩니다.
- <2> : a는 <1>에서 3이 되었고 <2>가 전치 증가 연산자이므로 연산 전에 값이 증가하여 4가 됩니다.
- <3> : <3>을 수행하기 전에 a는 4가 된 상태이고 <3>의 연산은 a+a와 같으므로 4+4의 결과인 8이 a에 저장됩니다.

* 이거 이해 좀 안됬었음,,,,,,,,, 마지막에 왜? 앞에 있는 것도 4가 되는지..,,

 

 

2.

초기값 b=3, c=4

- <1> : b의 초기값이 3이고 <1>이 전치 증가 연산자이므로 연산 전에 값이 증가하여 4이 됩니다.
- <2> : c의 초기값이 4이고 <2>가 전치 감소 연산자이므로 연산 전에 값이 감소하여 3가 됩니다.
- <3> : <1>-<2>이므로 4-3의 결과인 1이 b에 저장됩니다.

 

3.

초기값 b=3

- <1> : b의 초기값이 3이고 <1>이 전치 증가 연산자이므로 연산 전에 값이 증가하여 4이 됩니다.
- <2> : <2>가 후치 증가 연산자이므로 연산에 사용되는 b는 <1>에서 증가한 4가 됩니다.
- <3> : <3>을 수행하기 전에 b는 4가된 상태이고 <3>의 연산은 b/b와 같으므로 4/4의 결과인 1이 c에 저장됩니다.

 

4.

초기값 c=4

- <1> : c의 초기값이 4이고 <1>이 후치 증가 연산자이므로 연산에 사용되는 c는 4가 됩니다.
- <2> : 10%4의 결과인 2가 d에 저장됩니다.

 

 

5. ★★★

초기값 c=4

- <1> : c의 초기값이 4이고 <1>이 전치 증가 연산자이므로 연산 전에 값이 증가하여 5가 됩니다.
- <2> c는 <1>에서 5가 되었고 <2>가 전치 증가 연산자이므로 연산 전에 값이 증가하여 6이 됩니다
- <3> : <3>이 후치 증가 연산자이므로 연산에 사용되는 c는 <1>,<2>에서 증가한 6이 됩니다.
- <4> : <4>이 후치 증가 연산자이므로 연산에 사용되는 c는 <1>,<2>에서 증가한 6이 됩니다.
- <5> : <1>+<2>+<3>+<4> = 6+6+6+6 =24

* 연산 끝나고 <3>,<4>에 의해 후치 증가 연산이 적용되어 c는 8이 됩니다!

 

'■ C > Study' 카테고리의 다른 글

[C] C언어 비트연산자  (0) 2020.05.02
[C] C언어 관계연산자  (0) 2020.05.02
[C] C언어 산술연산자  (0) 2020.05.02
[C] C언어 변수,예약어 종류  (0) 2020.05.02
[C] C언어의 기억 클래스(Storage Class)  (0) 2020.05.02