Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    56

    C error: ‘i’ undeclared here (not in a function)

    Mi da questo errore anche se "i" lo dichiaro sia in main che nella funzione !
    Cos'è che non capisco ?
    Molte grazie.



    ../prvcmp.c:33: error: ‘i’ undeclared here (not in a function)


    codice:
    
    
      int   Mstrcmp( char v[i] , char v[i]);
    
    
    
    int        main()
                      {
                          
    
                         int i ;
    
         .....
      ......
    
                       if (Mstrcmp (v[i] , v[left]) < 0 )
    
    .................
    .................
    
    }    
    
    
    
                      int    Mstrcmp(char s[i] , char t[i])
    
                     {
                       int i ;
    
                       for ( i= 0; s[i] == t[i] ; i++ )
    
                            if  (s[i] == '\0' ) 
                                  return 0 ;
                      
                          return s[i] - t[i];  
    
    
    
    }

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Tra i paramentri della funzione.
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    56
    Originariamente inviato da linoma
    Tra i paramentri della funzione.
    e cioè ?

  4. #4
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    tra le parenti quadre della definizione della funzione int Mstrcmp( char v[i] , char v[i]);
    Per gli Spartani e Sparta usa spartan Il mio github

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    56
    Originariamente inviato da linoma
    tra le parenti quadre della definizione della funzione int Mstrcmp( char v[i] , char v[i]);
    Ma ho scritto proprio cosi ! Non ci vedo molto bene ma copio incollo >>>

    int Mstrcmp( char v[i] , char v[i]);


    dov'è la differenza ?

  6. #6
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Nessuna è che potrebbe essere la causa del tuo errore, prova a togliere la i dalle parentesi.
    Per gli Spartani e Sparta usa spartan Il mio github

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    56
    Originariamente inviato da linoma
    Nessuna è che potrebbe essere la causa del tuo errore, prova a togliere la i dalle parentesi.
    Mi da >>>
    ../prvcmp.c:14: error: redefinition of parameter ‘v’

  8. #8
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    credo che debba prenderti qualche testo e approfondire il C. Hai 2 o + variabili con lo stesso nome.
    Per gli Spartani e Sparta usa spartan Il mio github

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    56
    Originariamente inviato da linoma
    credo che debba prenderti qualche testo e approfondire il C. Hai 2 o + variabili con lo stesso nome.
    No, no. Ho fatto il programmino con il main vuoto e la funzione che vedi e il risultato è quello che ti sto
    dicendo.
    Va beh .chiudo in attesa di tempi migliori, ciao.

  10. #10
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Se solo ascoltassi quello che ti dicono:

    codice:
    int   Mstrcmp( char *v1 , char *v2);   // qua i non esiste ancora
    
    
    
    int        main()
                      {
                          
    
                         int i ; // inizializza i 
    
         .....
      ......
    
                       if (Mstrcmp (v[i] , v[left]) < 0 ) // left non esiste, v non esiste
    
    .................
    .................
    
    }    
    
    
    
                      int    Mstrcmp(char *v1 , char *v2)
    
                     {
                       int i ;
    
                       for ( i= 0; v1[i] == v2[i] ; i++ )
    
                            if  (v1[i] == '\0' ) 
                                  return 0 ;
                      
                          return v1[i] - v2[i];  
    
    
    
    }
    Indenta bene il codice.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.