Septimus C Postado Outubro 27, 2012 Denunciar Share Postado Outubro 27, 2012 (editado) Fala pessoal, não estou entendendo o porquê deste código estar imprimindo um valor a maisesta é 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 Outubro 28, 2012 por Septimus C Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Septimus C
Fala pessoal, não estou entendendo o porquê deste código estar imprimindo um valor a mais
esta é a saída:
Ele não deveria imprimir esse 0. esse é conteúdo do main a função de imprimir q estou utilizando esta a função de inserçãoEdit: 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 CLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.