증감 연산자는 값을 1씩 증가시키거나 감소시키는 역할을 하고, 세부적으로 전위와 후위로 나뉘어져 있다.
전위 연산자의 경우, 값을 증가시키거나 감소한 후에 연산자가 상요된 코드를 실행합니다. 그 줄에서 먼저 값이 증감된 후에 코드가 실행된다.
#include <stdio.h>
int main()
{
int a = 3;
printf("%d\n", ++a); // a가 1 증가됨
printf("%d", a); // 1 증가된 a가 출력
return 0;
}
#include <stdio.h>
int main()
{
int a = 3;
printf("%d\n", --a); // a가 1 감소됨
printf("%d", a); // 1 감소된 a가 출력
return 0;
}
후위 연산자의 경우에는 연산자가 사용된 코드를 먼저 실행한 후에 값을 증가시키거나 감소시킨다. 그 다음 줄에서 값이 증감된다고 보면 된다.
#include <stdio.h>
int main()
{
int a = 3;
printf("%d\n", a++); // a가 출력된 다음에 1 증가
printf("%d", a); // 1 증가된 a가 출력
return 0;
}
#include <stdio.h>
int main()
{
int a = 3;
printf("%d\n", a--); // a가 출력된 다음에 1 감소
printf("%d", a); // 1 감소된 a가 출력
return 0;
}
전위, 후위 코드
#include <stdio.h>
int main()
{
int input;
scanf("%d", &input);
printf("%d\n", input++);
printf("%d\n", ++input);
printf("%d\n", input--);
printf("%d\n", --input);
return 0;
}
출력 결과
10
12
12
10