Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
asantos38

programa só imprime o valor do primeiro nó(listas)

Question

Bom dia a todos.

Quando executo o código abaixo só imprime o valor armazenado no primeiro nó.

A função insere o nó no início da lista.

Estou usando Xcode em um macbook Air.

Alguém sabe qual o bug?

#include <stdio.h>
#include <stdlib.h>

// definição do tipo Lista.
struct Lista{
    int valor;
    
    struct Lista * proximo;
};

// função insere_iniciio().
struct Lista* insere_inicio(struct Lista* n, int valor){
    // declaração de variáveis.
    struct Lista* novo;
    
    if (n == NULL) {        // se a lista estiver vazia.
        n = (struct Lista*)malloc(sizeof(struct Lista));
        
        n->valor = valor;
        
        n->proximo = NULL;  // por ser o primeiro nó não deve apontar.
        
        return n;
        
    }else{                  // se a lista não estiver vazia.
        novo = (struct Lista*)malloc(sizeof(struct Lista));
        
        novo->valor = valor;
        
        novo->proximo = n;
        
        return novo;
    }
}

int main(){
    // declaração de variáveis.
    int valor;
    struct Lista* inicio;
    struct Lista* novo;
    struct Lista* temp;
    
    // aloca memória para a lista.
    inicio = (struct Lista*)malloc(sizeof(struct Lista));
    
    // inicializa a estrutura.
    inicio->valor = 20;
    inicio->proximo = NULL;
    
    // limpa o console.
    system("clear");
    
    printf("Informe o valor para armazenar na lista: ");
    
    scanf("%d", &valor);
    
    // chamada para a função insere_inicio().
    novo = insere_inicio(inicio, valor);
    
    temp = novo;
    
    while (temp->proximo != NULL) {
        printf("Valor armazenado: %d\n", temp->valor);
        
        temp = temp->proximo;
    }
    
    return 0;
}

 

Edited by asantos38
acrescentar texto

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Cloud Computing


  • Forum Statistics

    • Total Topics
      148417
    • Total Posts
      643832
×
×
  • Create New...