14.2 변수 하나에서 값을 곱하거나 나누기
이번에는 변수 하나에서 값을 곱하거나 나누는 방법을 알아보겠습니다.
- 변수1 = 변수1 * 값;
- 변수1 = 변수1 / 값;
다음 내용을 소스 코드 편집 창에 입력한 뒤 실행해보세요.
mul_div_variable.c
#include <stdio.h> int main() { int num1 = 2; int num2 = 7; num1 = num1 * 3; // num1에 3을 곱한 뒤 다시 num1에 저장 num2 = num2 / 2; // num2에서 2를 나눈 뒤 다시 num2에 저장 printf("%d\n", num1); // 6 printf("%d\n", num2); // 3 return 0; }
실행 결과
6 3
num1 = num1 * 3;은 num1에 3을 곱한 뒤 다시 num1에 저장하고, num2 = num2 / 2;는 num2에서 2를 나눈 뒤 다시 num2에 저장합니다. 즉, 계산 결과를 같은 변수에 계속 유지합니다. 여기서 나눗셈 연산은 0으로 나누지 않도록 주의합니다.
곱셈과 나눗셈도 변수를 두 번 입력하지 않도록 곱셈 후 할당 *=, 나눗셈 후 할당 /= 연산자를 제공합니다.
- 변수 *= 값
- 변수 /= 값
mul_div_assign.c
#include <stdio.h> int main() { int num1 = 2; int num2 = 7; num1 *= 3; // num1에 3을 곱한 뒤 다시 num1에 저장 num2 /= 2; // num2에서 2를 나눈 뒤 다시 num2에 저장 printf("%d\n", num1); // 6 printf("%d\n", num2); // 3 return 0; }
실행 결과
6 3
num1 *= 3;은 곱셈과 할당 연산을 동시에 처리합니다. 즉, num1 = num1 * 3;의 축약형입니다.
num2 /= 2;는 나눗셈과 할당 연산을 동시에 처리합니다. 마찬가지로 num2 = num2 / 2;의 축약형입니다. 단, 0으로 나누지 않도록 주의합니다.
참고로 num1 *= num2 또는 num1 = num1 * num2와 같이 모두 변수를 사용하여 연산해도 상관없습니다.