오류, 버그, 질문 - 페이지 162

 
mql5 :

확인, 결과는 x=1, y=0

죄송합니다, 결과 설명에 실수가 있었습니다!

 
Ashes :

죄송합니다, 결과 설명에 실수가 있었습니다!

열쇠 :

https://www.mql5.com/ru/docs/basis/operations/rules

Документация по MQL5: Основы языка / Операции и выражения / Приоритеты и порядок операций
Документация по MQL5: Основы языка / Операции и выражения / Приоритеты и порядок операций
  • www.mql5.com
Основы языка / Операции и выражения / Приоритеты и порядок операций - Документация по MQL5
 
stringo :

C++ 표준에서 이 위치는 정의되지 않으며 명시적으로 구현 종속적이라고 합니다. 2가지 주요 구현이 있습니다.

1. 표현식에서 변수를 사용한 직후에 사후 증가(후행 감소)를 수행합니다. (우리가 하는 방법)

2. 전체 표현식이 계산된 후 사후 증가를 수행합니다.

논하지 않겠지만 우변은 같을 때 어딘지 모르게 눈이 아프지만 계산 결과가 다른데...
 

x=0; y=0; x = y++; // x = 1 !!!

x=0; y=0; y = y++; // y = 0 !!!

작업의 우선 순위가 변경되었습니까?

 
Ashes :

x=0; y=0; x = y++; // x = 1 !!!

이와 같이? x=0, y=1
 

완전히 혼란!

x=0; y=0; x = y++; // x = 0 ??? y=1!!!

x=0; y=0; y = y++; // y = 0 !!!

 
Ashes :

x=0; y=0; x = y++; // x = 0 ??? y=1!!!

예외 없이 모든 사후 증분 구현에서 절대적으로 정확합니다.

예상하는 동작을 수행하려면 사전 증가를 사용하십시오. x = ++y;

 
Ashes :

완전히 혼란!

x=0; y=0; x = y++; // x = 0 ??? y=1!!!

x=0; y=0; y = y++; // y = 0 !!!

섹션 산술 연산 :

Сумма величин                           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--)는 표현식에서 해당 변수를 사용한 직후 변수에 적용됩니다.

 
Rosh :

섹션 산술 연산 :

...
후위 증가(i++) 및 감소(k--)는 표현식에서 해당 변수를 사용한 직후 변수에 적용됩니다.
두 줄 모두 접미사 증분을 갖습니다. 결과(y)가 다릅니다. 그것은 응용 프로그램의 컨텍스트에 달려 있음이 밝혀졌습니다 ...
 
Ashes :
두 줄 모두 접미사 증분을 가 집니다. 결과(y)가 다릅니다. 그것은 응용 프로그램의 컨텍스트에 달려 있음이 밝혀졌습니다 ...
표현 x = x++를 실제로 정당화할 수 있습니까? 무슨 말을 하고 싶었어요? x++를 할당하지 않고 증분을 사용하지 않는 이유는 무엇입니까? 일반적으로 사용되는 방법입니다.