wikiHow è una "wiki"; questo significa che molti dei nostri articoli sono il risultato della collaborazione di più autori. Per creare questo articolo, 19 persone, alcune in forma anonima, hanno collaborato apportando nel tempo delle modifiche per migliorarlo.
Questo articolo è stato visualizzato 54 338 volte
La comparazione fra stringhe è una delle funzionalità più utilizzate quando si programma utilizzando il linguaggio C. Tale funzione permette di capire se due stringhe sono uguali o quale delle due sia la più lunga. Nel caso si debba ordinare un insieme di dati, la comparazione fra stringhe si rivela uno strumento molto utile. Per confrontare due stringhe si deve utilizzare una funzione speciale, non ci si può limitare all'uso degli operatori di confronto != o ==.
Passaggi
-
1In C, esistono due funzioni che permettono di comparare due stringhe. Entrambe sono incluse nella libreria standard <string.h>.
-
2Inizia il programma includendo le librerie di cui hai bisogno. Includi quindi le librerie <stdio.h> e <string.h> e qualsiasi altra libreria aggiuntiva, in base al programma che desideri creare.
-
3Inizia il programma dichiarando una funzione .int. Dato che dovrà restituire un valore intero determinato dal risultato del confronto delle due stringhe in oggetto, dichiara una funzione di questo tipo. Questo è il modo più semplice per imparare a usare la comparazione fra stringhe.
-
4Dichiara le due stringhe che desideri confrontare. In questo esempio eseguiremo il confronto di due stringhe predefinite di tipo char. Dovrai altresì dichiarare una variabile di tipo int che conterrà il valore da restituire.[1]
-
5Inserisci la funzione di confronto. Avendo a disposizione le due stringhe da comparare, ora puoi richiamare la funzione che effettuerà il confronto. In questo caso useremo la funzione strncmp(), pertanto dovremo specificare anche il numero di caratteri che andranno confrontati.
-
6Utilizza una struttura .If...Else per eseguire la comparazione. Adesso, dopo aver richiamato la funzione strncmp, puoi utilizzare una struttura If...Else per valutare il risultato e visualizzare a video quale delle due stringhe è la più lunga. Se le due stringhe hanno la medesima lunghezza, la funzione strncmp() restituisce il valore 0; restituisce invece un valore intero positivo se la stringa str1 risulta la più lunga. Infine restituisce un valore intero negativo se la stringa str2 è più lunga della prima.Pubblicità
Avvertenze
- Ricorda che se le stringhe sono uguali, il valore di ritorno della funzione è 0. Ciò potrebbe confonderti perché lo 0 in C corrisponde anche al valore "FALSE".