정수를 한 개 입력받아 1을 더해 출력하는 프로그램을 작성해보자.
(단, 정수는 0 ~ 2147483647 의 범위로 입력된다.)
주의 : 계산되고 난 후의 데이터 범위에 주의한다.
정수를 한 개 입력받아 1을 더해 출력하는 프로그램을 작성해보자.
(단, 정수는 0 ~ 2147483647 의 범위로 입력된다.)
주의 : 계산되고 난 후의 데이터 범위에 주의한다.
정수 한 개가 입력된다.
(단, 0 ~ 2147483647 의 범위로 입력된다.)
입력된 정수에 1을 더해 출력한다.
2147483647
2147483648
어떤 변수(a)에 값을 저장한 후 a+1 의 값을 출력할 수도 있고,
++a 후 출력할 수도 있다.
++a, --a, a++, a-- 와 같이 어떤 변수의 앞이나 뒤에 붙여 변수에 저장되어 있는 값을 1씩 더하거나 빼주는 연산자를 증감연산자라고 한다.
증감연산자를 변수 앞(++a, --a)에 붙이면 그 변수를 사용하기 전에 증감을 먼저 수행한다.
증감연산자를 변수 뒤(a++,a--)에 붙이면 일단 변수에 저장되어 있는 값을 먼저 사용하고 난 후에 증감을 수행한다.
예를 들어
int a=2, b, c=5, d;
b=a++;
d=++c ;
printf("%d %d %d %d",b,a,d, c);
실행결과는 a에 +1을 하기 전에 b에 대입되기 때문에 b의 값은 2가 되고 a는 3이 된다
그리고 d의 값은 c에 +1을 한 다음 d에 대입되기 때문에 d는 6이되고 c도 6이 된다.
** 하나의 변수에 단독으로 사용할 때에는 ++a; 나 a++; 로 사용할 때
a = ++a; // 잘못된 방법
a=a++; // 잘못된 방법
a++; // 올바른 방법
++a; // 올바른 방법
식의 연산은 예상과 다른 결과를 초래하니 이렇게 사용하지 말기 바란다.