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

Erro no lista encadeada


Mateus Santiago 333

Pergunta

Neste código aparece um número a frente dos que foram digitados, alguém sabe como corrigir?

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct Lista{
int num;
struct Lista *proximo;
};
struct Lista * cria(void)
{
return NULL;
}
struct Lista * add(struct Lista *l, int num)
{
struct Lista *novo = (struct Lista*)malloc(sizeof(struct Lista));
novo->num = num;
if(l == NULL)
{
novo->proximo = NULL;
return novo;
}
else
{
struct Lista *temp = l;
while(temp->proximo != NULL)
{
temp = temp->proximo;
}
novo->proximo = NULL;
temp->proximo = novo;
return l;
}
}
void list(struct Lista *l)
{
struct Lista *p;
for(p=l;p!=NULL;p=p->proximo)
{
printf("%d ", p->num);
}
}
main()
{
int num;
char *cmd;
char string_enter[50];
struct Lista *l;
l = cria();
l = add(l,num);
do
{
gets(string_enter);
cmd = strtok(string_enter," ");
num = atoi((char *)strtok(NULL," "));
if(strcmp(cmd,"add")== 0){
add(l,num);
continue;
}
else if(strcmp(cmd,"list")== 0){
list(l);
continue;
}
}while(strcmp(cmd,"end")!= 0);
system("pause");
}
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Por causa da chamada "add(l, num);" depois de "cria();":

    l = cria();
    l = add(l,num);
Apenas a remova.

Além disso, é aconselhado sempre iniciar as variáveis recém declaradas:

    int num = 0;
    char *cmd = NULL;
    char string_enter[50] = {'\0'};
    struct Lista *l = NULL;
Editado por ScreenBlack
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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...