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

Saida lista Dup lig


Septimus C

Pergunta

Fala pessoal, não estou entendendo o porquê deste código estar imprimindo um valor a mais

esta é a saída:

2
1
3
4
0
Ele não deveria imprimir esse 0. esse é conteúdo do main
main()
{
    Lista2 *l = cria();
    l = insere(l,4);
    l = insere(l,3);
    l = insere(l,1);
    l = insere(l,2);
    print1(l);
}
a função de imprimir q estou utilizando
void print1(Lista2 *l)
{
    Lista2 *aux = l;
    while(aux != NULL)
    {
        printf("%d\n",aux->info);
        aux = aux->prox;
    }
}
esta a função de inserção
Lista2* insere (Lista2* l, int v)
{
        Lista2* novo = (Lista2*) malloc(sizeof(Lista2));
       novo->info = v;
       novo->prox = l;
       novo->ant = NULL;

/* verifica se lista não está vazia */
        if (l != NULL)
               l->ant = novo;

return novo;
}

Edit: Descobri o erro, era na função de inicialização, onde eu sempre estava alocando espaço e retornando esse ponteiro ao invés de retornar NULL

Editado por Septimus C
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.1k
    • Posts
      651.8k
×
×
  • Criar Novo...