Сумма величин 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;
As operações de incrementos e decréscimo aplicam-se apenas a variáveis, não se aplicam a constantes. O incremento de prefixo (++i) e a diminuição (--k) são aplicados a uma variável imediatamente antes dessa variável ser utilizada numa expressão.
Incrementos (i++) e decretos (k--) são aplicados a uma variável imediatamente após essa variável ser utilizada numa expressão.
Ashes: Ambas as linhas têm incremento post-fix. O resultado (y) é diferente. Acontece que depende do contexto de aplicação.
Pode praticamente justificar a expressão x = x+++; O que quer dizer? Porque não utilizar um incremento sem uma atribuição subsequente de x++; Como é normalmente utilizado.
Verificado, o resultado é x=1, y=0
A minha má e errada descrição do resultado!
A minha má e errada descrição dos resultados!
Chave :
https://www.mql5.com/ru/docs/basis/operations/rules
A norma c++ não define este lugar e diz explicitamente que depende da sua implementação. Há 2 implementações principais:
1. Produzir um pós-criação imediatamente após a variável ser utilizada na expressão. (como nós fizemos).
2. Pós-incrementação depois de toda a expressão ser calculada.
Chave :
https://www.mql5.com/ru/docs/basis/operations/rules
x=0; y=0; x = y++; // x = 1 !!!
x=0; y=0; y = y++; // y = 0 !!!
Será que a prioridade das operações conseguiu mudar?
x=0; y=0; x = y++; // x = 1 !
Completamente confuso!
x=0; y=0; x = y++; // x = 0 ? y= 1 !!!
x=0; y=0; y = y++; // y = 0 !!!
x=0; y=0; x = y++; // x = 0 ? y= 1 !!!
Perfeitamente correcto em todas as implementações pós-criação, sem excepção.
Se andar com o comportamento que parece estar à espera, use o pré-incremento. x = ++y;
Completamente confuso!
x=0; y=0; x = y++; // x = 0 ? y= 1 !!!
x=0; y=0; y = y++; // y = 0 !!!
Secção Operações aritméticas:
As operações de incrementos e decréscimo aplicam-se apenas a variáveis, não se aplicam a constantes. O incremento de prefixo (++i) e a diminuição (--k) são aplicados a uma variável imediatamente antes dessa variável ser utilizada numa expressão.
Incrementos (i++) e decretos (k--) são aplicados a uma variável imediatamente após essa variável ser utilizada numa expressão.
Secção Operações aritméticas:
...Incrementos (i++) e decretos (k--) são aplicados a uma variável imediatamente após essa variável ser utilizada numa expressão.
Ambas as linhas têm incremento post-fix. O resultado (y) é diferente. Acontece que depende do contexto de aplicação.