Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C] Lista cotenente sempre NULL

    Allora, ho fatto questo programma in C :

    codice:
    #include <stdio.h>
    #include <stdlib.h> 
    
    typedef struct Structure {
         int Data;
         struct Structure *Next;
     }Element;
    
    Element *AddElements ();
    
    Element *ViewElements (Element *List);
    
    int main ()
    {
         Element *List;
         AddElements ();
         system ("CLS");
         ViewElements (List);
         system ("PAUSE");
         return 0;
    }
    
    Element *AddElements ()
    {
         Element *List = NULL;
         Element *Pointer;
         int Elements;
         int i;
         printf ("Elementi della lista : ");
         scanf ("%i", & Elements);
         if (Elements == 0)
         {
             List = NULL;
         }else{
             List = (Element *)malloc(sizeof(Element));
             printf ("Inserisci il 1 elemento : ");
             scanf ("%i", & List -> Data);
             Pointer = List;
             for (i = 0 ; i < Elements - 1 ; i++)
             {
                 Pointer -> Next = (Element *)malloc(sizeof(Element));
                 Pointer = Pointer -> Next;
                 printf ("Inserisci il %i elemento : ", i + 2);
                 scanf ("%i", & Pointer -> Data);
             }
             Pointer -> Next = NULL;
         }
         return List;
    }
    
    Element *ViewElements (Element *List)
    {
         printf ("Lista :\n\n");
         while (List != NULL)
         {
             printf ("%i -----> ", List -> Data);
         }
         printf ("NULL\n\n");
     }
    Solo che ogni volta che ho finito di immettere gli n elementi mi stampa NULL...

    Perchè ???

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    codice:
    #include <stdio.h>
    #include <stdlib.h> 
    
    typedef struct Structure {
         int Data;
         struct Structure *Next;
     }Element;
    
    Element *AddElements ();
    
    Element *ViewElements (Element *List);
    
    int main ()
    {
         Element *List;
         List = AddElements ();
         system ("CLS");
         ViewElements (List);
         system ("PAUSE");
         return 0;
    }
    
    Element *AddElements ()
    {
         Element *List = NULL;
         Element *Pointer;
         int Elements;
         int i;
         printf ("Elementi della lista : ");
         scanf ("%i", & Elements);
         if (Elements == 0)
         {
             List = NULL;
         }else{
             List = (Element *)malloc(sizeof(Element));
             printf ("Inserisci il 1 elemento : ");
             scanf ("%i", & List -> Data);
             Pointer = List;
             for (i = 0 ; i < Elements - 1 ; i++)
             {
                 Pointer -> Next = (Element *)malloc(sizeof(Element));
                 Pointer = Pointer -> Next;
                 printf ("Inserisci il %i elemento : ", i + 2);
                 scanf ("%i", & Pointer -> Data);
             }
             Pointer -> Next = NULL;
         }
         return List;
    }
    
    Element *ViewElements (Element *List)
    {
         printf ("Lista :\n\n");
         while (List != NULL)
         {
             printf ("%i -----> ", List -> Data);
    	 List = List -> Next;
         }
         printf ("NULL\n\n");
     }

  3. #3
    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.