산술 연산

산술 연산에는 다음과 같은 덧셈 연산과 곱셈 연산이 포함됩니다:

변수의 합                        i = j + 2;
변수의 차                 i = j - 3;
부호 변경                       x = - x;
변수의 곱                    z = 3 * x;
나눗셈 몫                       i = j / 5;
나눗셈 나머지                   minutes = time % 60;
변수 값에 1 더하기          i++;
변수 값에 1 더하기          ++i;
변수 값에 1 빼기   k--;
변수 값에 1 빼기   --k;

증분 및 감소 연산은 변수에만 적용되므로 상수에 적용할 수 없습니다. 사전 증가(++i) 및 감소(--k)는 이 변수가 식에 사용되기 직전에 변수에 적용됩니다.

사후 증가(i++) 및 사후 감소(k--)는 이 변수가 식에 사용된 직후 변수에 적용됩니다.

Important Notice

int i=5;
int k = i++ + ++i;

위의 식을 한 프로그래밍 환경에서 다른 프로그래밍 환경으로 이동하는 동안(예: Borland C++에서 MQL5로) 계산 문제가 발생할 수 있습니다. 일반적으로 계산 순서는 컴파일러 구현에 따라 달라집니다. 실무적으로 사후 감소(후 증가)를 이행하는 두 가지 방법이 있습니다.

  1. 전체 식을 계산한 후 변수에 사후 감소(사후 증가)가 적용됩니다.
  2. 연산 시 변수에 즉시 사후 감소(사후 증가)가 적용됩니다..

현재 MQL5에서는 사후 감소(사후 증가) 계산의 첫 번째 방법이 구현되어 있습니다. 그러나 이러한 특성을 알고 있더라도 사용을 실험하는 것은 권장되지 않습니다.

예제:

int a=3;
a++;            // 유효한 수식
int b=(a++)*3;  // 잘못된 수식

더 보기

우선 순위 규칙