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와 같이 모두 변수를 사용하여 연산해도 상관없습니다.