언제나휴일 2016. 1. 1. 12:10
반응형

 

++, -- (증감 연산자)
 
증감 연산자는 단항 연산자로 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언어 36. 증감 연산자


반응형