++, -- (증감 연산자)
증감 연산자는 단항 연산자로 1 증가하거나 1을 감소하는 연산이예요.
증감 연산을 수행하면 피연산자의 값을 변경하므로 피연산자는 l-value만 올 수 있어요.
++의 연산을 수행하면 피연산자의 값이 1 증가하고 -- 연산을 하면 1감소하죠.
증감 연산자는 연산자가 피연산자 앞에 올 수도 있고 뒤에 올 수도 있는데 위치에 따라 연산 결과가 달라요.
그리고 증감 연산자가 피연산자 앞에 올 때 전위 증감 연산자라 부르며 뒤에 올 때 후위 증감 연산자라 불러요.
전위 증감 연산이 하는 것은 피연산자의 값을 1 증감하는 것이며 연산 결과도 값을 1 증감한 피연산자예요.
하지만 후위 증감 연산에서는 피연산자의 값은 1 증감하지만 연산 결과는 연산을 수행하기 전 피연산자의 값이죠.
re = i++;
//re = i;
//i = i+1;
re = ++i;
//i = i+1;
//re = i;
여러분께서 증감 연산자를 사용할 때 다른 표현식과 혼합하여 사용하지 마세요.
혼합하지 않는다면 코드를 분석하고 이해하는 것이 어렵지 않겠지만 혼합하여 사용하면 어려울 수 있어요.
증감 연산자는 다른 표현식과 혼합하여 사용하지 마시고 단독으로 사용하세요.
◈ 전위 후위 증감 연산자 비교
#include <stdio.h>
int main()
{
int a = 2, b = 2;
printf("수행 전 a: %d \n",a);
printf("++a 연산 결과: %d \n",++a);
printf("수행 후 a: %d \n",a);
printf("수행 전 b: %d \n",b);
printf("b++ 연산 결과: %d \n",b++);
printf("수행 후 b: %d \n",b);
return 0;
}
실행 결과
수행 전 a: 2
++a 연산 결과: 3
수행 후 a: 3
수행 전 b: 2
b++ 연산 결과: 2
수행 후 b: 3
◈ 기본 연습
다음 프로그램의 실행 결과를 예측하시오.
#include <stdio.h>
int main()
{
int i = 8, re = 0;
re = i++;
printf("i:%d re:%d \n", i, re);
return 0;
}
'언어 자료구조 알고리즘 > 디딤돌 C언어' 카테고리의 다른 글
41. 반복문 (while, do while, for) (0) | 2016.01.01 |
---|---|
40. 선택문 (switch case) (0) | 2016.01.01 |
39. 조건문 (if, else) (0) | 2016.01.01 |
38. 정리하기 (0) | 2016.01.01 |
37. 기타 연산자 (0) | 2016.01.01 |
35. 대입 연산자 (0) | 2016.01.01 |
34. 쉬프트 연산자 (0) | 2016.01.01 |
33. 비트 연산자 ^를 이용한 암호화 (0) | 2016.01.01 |
32. 비트 연산자 (0) | 2016.01.01 |
31. 비교 연산자 (0) | 2016.01.01 |