Errores, fallos, preguntas - página 162

 
mql5:

Comprobado, el resultado es x=1, y=0

Mi error, la descripción del resultado es incorrecta.

 
Ashes:

Mi error, la descripción de los resultados es incorrecta.

Clave :

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

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

El estándar c++ no define este lugar y dice explícitamente que depende de la implementación. Hay dos implementaciones principales:

1. Produce un postincremento inmediatamente después de que la variable se utilice en la expresión. (como hemos hecho nosotros).

2. Postincremento después de calcular toda la expresión.

No voy a discutir, pero es un poco chocante cuando la parte correcta es la misma, pero el resultado del cálculo es diferente...
 

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

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

¿Se ha conseguido cambiar la prioridad de las operaciones?

 
Ashes:

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

¿Cómo es eso? x=0, y=1
 

Completamente confundido.

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 !!!

Perfectamente correcto en todas las implementaciones de postincremento sin excepción.

Si camina el comportamiento que parece esperar, utilice el preincremento. x = ++y;

 
Ashes:

Completamente confundido.

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

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

Sección Operaciones aritméticas:

Сумма величин                           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;

Las operaciones de incremento y decremento sólo se aplican a las variables, no se aplican a las constantes. Los prefijos de incremento (++i) y decremento (--k) se aplican a una variable justo antes de que ésta se utilice en una expresión.

Los incrementospostfijados (i++) y los decrementos (k--) se aplican a una variable inmediatamente después de que ésta se utilice en una expresión.

 
Rosh:

Sección Operaciones aritméticas:

...
Los incrementospostfijados (i++) y los decrementos (k--) se aplican a una variable inmediatamente después de que ésta se utilice en una expresión.
En ambas líneas, se incrementa el postfijo. El resultado (y) es diferente. Resulta que depende del contexto de aplicación...
 
Ashes:
Ambas líneas tienen incremento postfijo. El resultado (y) es diferente. Resulta que depende del contexto de aplicación...
Y prácticamente puedes justificar la expresión x = x++; ¿Qué quieres decir? Por qué no utilizar un incremento sin una asignación posterior de x++; Como se suele utilizar.