Problema per capire un programma AIUTOO !

di il
3 risposte

Problema per capire un programma AIUTOO !

Ciao a tutti ho trovato questo codice in un file di esercizi in c
il codice funziona non fa altro che mescolare 2 stringhe ma non mi e per niente chiaro come fa !!
potete darmi una mano a capire i passaggi che compie ??

void mescola (char *s1, char *s2, char *s3) {
     while (*s1 && *s2) { 
           *s3++=*s1++;
           *s3++=*s2++;
     }
     /* while */
     while (*s1)
           *s3++=*s1++;
           
     while (*s2)
           *s3++=*s2++;

     *s3='\0';
    
} /* mescola */

3 Risposte

  • Re: Problema per capire un programma AIUTOO !

    Cosa non ti è chiaro di preciso?
    while (*s1)
    questo è un ciclo che esce quando *s1 è 0 ovvero siamo sul terminatore di stringa.
    *s3++=*s1++;
    il carattere puntato da s1 viene copiato nel carattere puntato da s3 e poi si passa alle posizioni successive (per s3 e s1)
  • Re: Problema per capire un programma AIUTOO !

    Non mi è chiara la prima parte
     while (*s1 && *s2)
  • Re: Problema per capire un programma AIUTOO !

    Significa ... finché il carattere corrente della prima stringa non è il terminatore e il carattere corrente della seconda stringa non è il terminatore ... ovvero, ripeti il ciclo finché non finisce una delle due stringhe.
Devi accedere o registrarti per scrivere nel forum
3 risposte