-- MarcoEsposito - 19 Nov 2002/* mystrcmp */ int mystrcmp(char *prima, char *seconda) { int i = 0; /* si ferma al primo carattere diverso tra le due stringhe * oppure, quando è giunto alla fine di una delle due stringhe */ while((prima[i] == seconda[i]) && (prima[i] != '\0') && seconda != '\0') i---++; /* ora vado a confrontare i due caratteri che differiscono */ /* NOTA: il carattere terminatore delle tringhe cioè '\0' vale "0", * perciò è minore di tutti i caratteri! */ /* se il carattere della prima stringa è maggiore della seconda */ if(prima[i] > seconda[i]) return 1; /* prima > seconda */ /* se il carattere della prima stringa è minore della seconda */ if(prima[i] < seconda[i]) return -1; /* prima < seconda */ /* naturalmente se i caratteri non differiscono sono uguali. */ /* Se arrivo qua, significa che le stringhe sono uguali e come * se andassi a confrontare i due caratteri terminatori, che * sono uguali. */ return 0; /* prima = seconda */ }
![]() |
![]() |
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica ![]() |
|
![]() |
![]() |