#include<stdio.h>intmain(){intnum1=1;intnum2=1;num1=num1+2;// num1에서 2를 더한 뒤 다시 num1에 저장num2=num2-2;// num2에서 2를 뺀 뒤 다시 num2에 저장printf("%d\n",num1);// 3printf("%d\n",num2);// -1return0;}
만약 num1 + 2;만 있으면 덧셈만 될 뿐 결괏값이 유지되지 않는다.
이때 변수에 값을 더한 뒤 다시 자기자신에게 저장하는 방식으로 변수의 값을 더하거나 뺄 수 있다.
즉, num1 + 2가 처리된 다음 num1 = 3이 처리되어 최종적으로 num1에는 3이 들어간다.
마찬가지로 뺄셈도 num2 - 2가 처리된 다음 num1 = -1이 처리되어 최종적으로 num1에는 -1이 들어간다.
C에서는 num1 = num1 + 2;와 같이 num1을 두 번 입력하지 않도록 덧셈 후 할당 +=, 뺄셈 후 할당 -= 연산자를 제공한다.
#include<stdio.h>intmain(){intnum1=1;intnum2=1;num1+=2;// num1에 2를 더한 뒤 다시 num1에 저장num2-=2;// num2에 2를 뺀 뒤 다시 num2에 저장printf("%d\n",num1);// 3printf("%d\n",num2);// -1return0;}
num1 += 2;는 덧셈과 할당 연산을 동시에 처리하여 변수 num1을 2 증가시킨다.
즉, num1 = num1 + 2;의 축약형이다.
num2 -= 2;는 뺄셈과 할당 연산을 동시에 처리하여 변수 num2를 2 감소시킨다.
마찬가지로 num2 = num2 - 2;의 축약형이다.
참고로 num1 += num2 또는 num1 = num1 + num2와 같이 모두 변수를 사용하여 연산해도 상관없다.