# C언어 증감 연산자(전위, 후위)
아래 코드 연산 결과 과정을 알려주세요(네이버 지식iN 펌)
```
#include <stdio.h>
void main()
{
int x = 5, a, b;
a = ++x * x--;
b = x * 10;
printf("a=%d b=%d x=%d", a, b, x);
}
```
sehongpark님의 답변
## 연산 과정
### 1. 변수 초기화
먼저 변수가 초기화 됩니다. (`a`와 `b`의 경우 0으로 초기화)
```
// x: 5
// a: 0
// b: 0
int x = 5, a, b;
```
### 2. a 값 변경
전위 및 후위 증가 연산자가 계산됩니다. (컴파일러에 따라 a의 결과 값이 다를 수 있음)
```
// ++x: 수행 전 증가(5 -> 6)
// x--: 수행 후 감소( 6 -> 5)
a = ++x * x--; // 6 * 6
```
### 3. b 값 변경
```
b = x * 10; // 5 * 10
```
### 4. 결과 출력
```
// a: 36
// b: 50
// x: 5
printf("a=%d b=%d x=%d", a, b, x);
```
sehongpark님의 답변
## 후위 감소 연산자
후위 감소 연산자는 현재 라인이 종료 된 후에 반영됩니다. 아래 코드를 직접 실행해보세요.
```
int x = 10;
printf("x = %d\n", x--); // x = 10;
printf("x = %d\n", x); // x = 9
```