12.2 변수 하나에서 값을 더하거나 빼기
이번에는 변수 하나에서 값을 더하거나 빼는 방법을 알아보겠습니다.
- 변수1 = 변수1 + 값;
- 변수1 = 변수1 - 값;
다음 내용을 소스 코드 편집 창에 입력한 뒤 실행해보세요.
add_sub_variable.c
#include <stdio.h> int main() { int num1 = 1; int num2 = 1; num1 = num1 + 2; // num1에 2를 더한 뒤 다시 num1에 저장 num2 = num2 - 2; // num2에서 2를 뺀 뒤 다시 num2에 저장 printf("%d\n", num1); // 3 printf("%d\n", num2); // -1 return 0; }
실행 결과
3 -1
num1 = num1 + 2;는 처음 봤을 때 문법이 좀 이해가 가지 않을 수도 있습니다. 만약 num1 + 2;만 있으면 덧셈만 될 뿐 결괏값이 유지되지 않습니다. 이때는 변수에 값을 더한 뒤 다시 자기자신에게 저장하는 방식으로 변수의 값을 더하거나 뺄 수 있습니다(값을 증가시키거나 감소시킴).
즉, num1 + 2가 처리된 다음 num1 = 3이 처리되어 최종적으로 num1에는 3이 들어갑니다.
마찬가지로 뺄셈도 num2 - 2가 처리된 다음 num1 = -1이 처리되어 최종적으로 num1에는 -1이 들어갑니다.
C 언어에서는 num1 = num1 + 2;와 같이 num1을 두 번 입력하지 않도록 덧셈 후 할당 +=, 뺄셈 후 할당 -= 연산자를 제공합니다.
- 변수 += 값
- 변수 -= 값
add_sub_assign.c
#include <stdio.h> int main() { int num1 = 1; int num2 = 1; num1 += 2; // num1에 2를 더한 뒤 다시 num1에 저장(2를 증가시킴) num2 -= 2; // num2에서 2를 뺀 뒤 다시 num2에 저장(2를 감소시킴) printf("%d\n", num1); // 3 printf("%d\n", num2); // -1 return 0; }
실행 결과
3 -1
num1 += 2;는 덧셈과 할당 연산을 동시에 처리하여 변수 num1을 2 증가시킵니다. 즉, num1 = num1 + 2;의 축약형입니다.
num2 -= 2;는 뺄셈과 할당 연산을 동시에 처리하여 변수 num2를 2 감소시킵니다. 마찬가지로 num2 = num2 - 2;의 축약형입니다.
참고로 num1 += num2 또는 num1 = num1 + num2와 같이 모두 변수를 사용하여 연산해도 상관없습니다.