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

    [c++]Funzioni e chiamate funzioni

    Ciao a tutti,mi sto esercitando un po con le funzioni in c++ ma ho un problema.
    Ho inserito all'interno di una funzione un'altra fatta da me.per farvi capire ecco cosa ho fatto

    codice:
    int lenstr(const str s){
        int i;
        while(s[i]!='\0')
             i++;
        return i;
    }
    
    int charcomuni(const str s1,const str s2){
        int l1,l2,lung=0,i;
        l1=lenstr(s1);
        l2=lenstr(s2);
        
        if(l1>l2){
                   for(int i=0;i<l2;i++){
                           for(int j=0;j<l1;j++){
                                   if(s1[j]==s2[i])
                                      lung++;
                                   }
                           }
                   }
        else{
             for(int i=0;i<l1;i++){
                     for(int j=0;j<l2;j++){
                             if(s1[i]==s2[j])
                                  lung++;
                             }
                     }
             }
        
        return lung;
    }

    tralasciando il fatto che esiste strlen(ne ho fatta una io per esercitarmi) e tralasciando che l'algoritmo della seconda funzione non fa proprio quello che volevo io ho un problema non di compilazione ma di esecuzione del file.
    Quando nel dos arriva il momento di eseguire la seconda funzione mi da l'errore "ha smesso di funzionare" e si chiude.Sono sicuro che il problema è la chiamata della funzione perchè se nella seconda funzione invece della funzione fatta da me lenstr metto strlen funziona perfettamente.

    Quindi mi chiedo,non posso chiamare delle funzioni all'interno di altre?? se si perchè mi da questo problema?

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    non posso chiamare delle funzioni all'interno di altre?
    Se non si potesse non esisterebbero i programmi.
    se si perchè mi da questo problema?
    Perché il C/C++ non regala nulla e soprattutto non inizializza le variabili interne come i. Mettila a 0 per aggiustare lenstr.
    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
    ah giusto,devo far partire la i da 0 ogni volta che chiamo la funzione giusto??Ora funziona,grazie mille :P

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.