Tava escrevendo um código em C pra resolver o problema sugerido no post do Facebook: Redirecting...
Alguém pode me explicar porque alterou o valor das primeiras posições da matriz?
Segue o código: https://pastebin.com/VUadU3F3
Tava escrevendo um código em C pra resolver o problema sugerido no post do Facebook: Redirecting...
Alguém pode me explicar porque alterou o valor das primeiras posições da matriz?
Segue o código: https://pastebin.com/VUadU3F3
Brother, porque você inicializa os produtos com 396 itens?
Fiz o teste aqui, e inicializando em 400 (20x20) itens o erro não acontece.
@douglas.comim, de 0 a 401(esta assim no FOR), não tem 402 números?? desculpe a ignorância, caso estiver dizendo alguma errado, sou bem leigo em C…
O que estava ocorrendo?
Erro de acesso de memória na lógica de execução do produto, ao chegar
com b
em 17
como primeiro multiplicador, o código seguia normalmente até o 20
e saia do segundo loop, porém a variável cont
estava em 3, ao rodar a = 1
e b = 0
incrementava-se cont
e então era reduzido 3
de b
indo para b = -3
logo acarretou em acesso inválido de memória.
Segue abaixo algumas alterações que eu fiz, e a diferença entre o seu código e o que eu alterei:
https://gist.github.com/acomerlatto/ff90093ab969408f3937fb52b8773e52/revisions#diff-a36465579089f366a95fa07ecf4e5f34
Foi exatamente esse o erro. O certo é iniciar com 397 posições, mas eu fiz confusão achando que na declaração da array o ‘0’ contava como uma.
Valeu pelas dicas, amigo!