Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Sim, eu sei, e citei o código que não causa erro de execução, mas faz loops no guião
a última impressão não é produzida?
Ou o penúltimo?
E a última chamada do expoente não congela?
Algoritmo atinge que linha?
colocou as impressões em todo o lado?
Sim, não é.
Sim, não é.
repetir a pergunta - tem um expoente calculado para 2/3/8?
e também tem um aspecto estranho.
1071644672
de onde é que vem?fez com que fosse assim:
no diário de bordo:
se comentado: // if(i3===2 && i2===3 && i1====8) Print("incorrect exp!!!! call");
mais uma vez conduzirá a um loop infinito :)
se apagados:// if(i3===2 && i2===3 && i1====8) Print("wrong exp!!!! call");
mais uma vez será um loop infinito :)
i1 é igual a 7 após o fim do laço, embora o índice máximo da terceira dimensão seja 6. É suposto estar fora de alcance, mas se não estiver, é bem possível que a corda
pode sobrescrever o valor de i2, por exemplo. Mas neste caso é um erro no compilador de mql.
Pode mover, por exemplo, a definição da matriz para variáveis globais - então o comportamento do código acima deve mudar.
será novamente um loop infinito :)
Penso que o erro está na própria impressora.
Descubra o que está nas linhas anteriores. uma vez que o último expoente não deve ser executado. o índice excede
Penso que o problema está no seu código.
e também parece estranho.
1071644672
de onde é que veio?Tenho-o anexado, nesta forma o guião entra num loop infinito.
Tenho Zero Devide com ou sem uma impressão, em
Em geral, a i1 toma um valor errado. Embora devesse estar fora do alcance de fora[][][7]. O compilador deve considerar restrições baseadas na multiplicação de todas as dimensões (3 * 7 * 7 = 147) em vez de cada uma delas. Por exemplo, se for atribuída a i1 8, a impressão ainda imprime alguns valores. Obviamente, é um erro de compilação ao verificar os limites da matriz.Aparentemente, o compilador calcula as restrições procedentes da multiplicação de todas as dimensões (3 * 7 * 7 = 147) e não de cada uma delas. Por exemplo, se a i1 for atribuída a 8, a impressão ainda produz alguns valores. Obviamente, é um erro de compilação ao verificar os limites da matriz.
Fora de alcance não é do compilador. Isto é um erro de tempo de execução.
O sistema de tempo de execução calculou estupidamente a compensação e nada acontecerá se índices incorrectos estiverem envolvidos no cálculo, mas não ultrapassou os limites da matriz. Mas se verificar os índices de uma forma inteligente, cada um deles separadamente, obterá atrasos concretos na execução.