Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    65

    [C]passare doppio puntatore ad una funzione con singolo puntatore

    Ciao a tutti ho il seguente problema: ho una funzione principale MODIFICA alla quale gli passo una lista semplice con il doppio puntatore. All interno di questa funzione richiamo un altra funzione SCORRI che ha come due parametri due singoli puntatori PREC e PUNT. Il problema e che non so come passare il doppio puntatore alla funzione SCORRI con singolo puntatore infatti mi da errore.
    codice:
    struct elemento 
      {
       int inf;
       struct elemento *next;
      };
    
    
    void MODIFICA(struct elemento **L1) /*funzione principale*/
    {
     struct elemento *app;
     if ((*L1) != NULL)
       if ((*L1)->inf % 2 == 0)/*testa è pari*/
         {
          app = (struct elemento*) malloc (sizeof(struct elemento));   
          app->inf = (*L1)->inf*2;
          app->next = (*L1);    
          (*L1)= app;
          (*L1)->next->next = scorri(L1->next,L1->next->next);    
         }
       else  
        (*L1)->next = scorri(L1,L1->next);   
    } 
    
    struct elemento *scorri(struct elemento *prec , struct elemento *punt)
    {
      
      if (punt != NULL)
        {
          if (punt->inf % 2 == 0)
            {
              prec->next = (struct elemento*) malloc (sizeof(struct elemento));   
              prec->next->inf = punt->inf * 2;
              prec->next->next=punt;
              punt->next = scorri(punt,punt->next);
            }
          else
           punt->next = scorri(prec->next,punt->next);
       }
      return (prec->next);          
    }
    L errore me lo da qua :
    codice:
    (*L1)->next->next = scorri(L1->next,L1->next->next);
    e qua:
    codice:
    (*L1)->next = scorri(L1,L1->next);
    Qualcuno sa come modificare queste due righe per passare un doppio puntatore ad una funzione con singolo puntatore???? GRAZIE in anticipo a tutti e spero di essere stato chiaro

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381

    Re: [C]passare doppio puntatore ad una funzione con singolo puntatore

    codice:
    (*L1)->next->next = scorri((*L1)->next,(*L1)->next->next);
    e qua:
    codice:
    (*L1)->next = scorri((*L1),(*L1)->next);
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    65
    grazie MILLE!!!!!! funziona!!!!!!!!!!

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.