Ir para conteúdo
Fórum Script Brasil
  • 0

Duas impressões diferentes para o mesmo código


Guest --Marcelo --

Pergunta

Guest --Marcelo --

Boa tarde a todos,

Estou estudando apontadores e preciso criar uma matriz dinamicamente usando a notação **pMat. No entanto depois de inserir os valores na matriz alocada está acontencendo uma divergência na hora da imprimir os dados na tela. Imprimindo usando o Debug os valores saem conforme esperado:

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

No entanto ao imprimer usando a execução padrão (F9) a matriz impressa é a seguinte:

1 1 3 4 5 <-- Não é exibido o valor 2

1 1 3 4 5 <-- Não é exibido o valor 2

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

Fiz os seguintes testes:

- Usar a notação mat[][];

- Ao invés de utilizar (j+1), usei uma constante, tipo o número 3;

Em ambos os resultado esteve correto!!!

Informações adicionais:

- SO - Windows Vista Home Basic;

- Dev-cpp versão 4.9.9.2;

Fico muito grato se puderem ajudar!!

int main(int argc, char *argv[])

{

int **pInt, i, j;

pInt = (int**)(malloc(sizeof(int*)*10));

for(i=0; i< 10; i++)

*(pInt+i) = (int*)(malloc(sizeof(int)*5));

for(i=0; i<10; i++)

for(j=0; j<5; j++)

*(*(pInt+j)+i) = j+1;

for(i = 0; i<10; i++)

{

for(j=0; j<5; j++)

printf("%d ", *(*(pInt+j)+i));

printf("\n");

}

free(pInt);

system("PAUSE");

return EXIT_SUCCESS;

}

[\code]

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Guest --Isis --
for(i=0; i<10; i++) {
    for(j=0; j<5; j++)
       *(*(pInt+i)+j) = j+1;

  for(i = 0; i<10; i++) {
    for(j=0; j<5; j++)
      printf("%d ",*(*(pInt+i)+j));
    printf("\n");
  }

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...