AleksandarArkan

I-due stringhe sono uguali

Mar 30th, 2015
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.56 KB | None | 0 0
  1. /*Date due stringhe dire se sono uguali
  2.  * restituisce 0 se sono uguali, altri valori
  3.  * altrimenti */
  4.  
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7.  
  8. int str_uguali(char *stringa1, char *stringa2){
  9.         /* 1)la condizione del while sta ad indicare che il ciclo
  10.          * while continua a girare quando ci sono tutte e due le stringhe
  11.          * che non sono ancora finite. se per caso una delle due stringhe termina
  12.          * non si rientra piu nel while, perche non e' soddisfatta la condizione
  13.          * e quindi subito dopo al while viene restituito il risultato
  14.          * del confronto. attenzione potrebbe succedere che le due stringhe
  15.          * sono uguali e che quindi terminino tutte e due allo stesso tempo,
  16.          * in quel caso cmq non si entra nel ciclo perche a maggior ragione
  17.          * non e soddisfatta la condizione, e quindi viene restituito il
  18.          * risultato del confronto.
  19.          * 2) la seconda condizione invece dice che oltre al fatto che non
  20.          * devono essere finite le due stringhe, bisogna che presi
  21.          * i caratteri dalle due stringhe siano uguali, affinche il controllo
  22.          * possa avanzare.*/
  23.         while((*stringa1 && *stringa2)&&(*stringa1==*stringa2)){
  24.             ++stringa1;//passa alla prossima lettera della stringa1
  25.             ++stringa2;//passa alla prossima lettera della stringa2
  26.             }
  27.         return *stringa1-*stringa2;//ritorna il risultato del confronto , se
  28.         //le due stringhe sono uguali ,verra' ritornato 0, un numero diverso
  29.         //altrimenti
  30.    
  31.    
  32. }
  33.  
  34.  
  35. int main(){
  36.     char str1[]="ale";
  37.     char str2[]="aoe";
  38.     int ris;
  39.     ris=str_uguali(str1,str2);
  40.     printf("%d", ris);
  41.    
  42.     return 0;
  43.    
  44.     }
Advertisement
Add Comment
Please, Sign In to add comment