Come confrontare due stringhe nella programmazione C: 10 passaggi

Sommario:

Come confrontare due stringhe nella programmazione C: 10 passaggi
Come confrontare due stringhe nella programmazione C: 10 passaggi

Video: Come confrontare due stringhe nella programmazione C: 10 passaggi

Video: Come confrontare due stringhe nella programmazione C: 10 passaggi
Video: Installo GNU⁄Linux su un Chromebook! 2024, Aprile
Anonim

Il confronto della lunghezza della stringa è una funzione comune nella programmazione C, poiché consente di vedere quale stringa contiene più caratteri. Questo è molto utile per ordinare i dati. Il confronto delle stringhe richiede una funzione speciale; non utilizzare != o ==.

Passi

Confronta due stringhe nella fase di programmazione C 1
Confronta due stringhe nella fase di programmazione C 1

Passaggio 1. Esistono due funzioni che consentono di confrontare le stringhe in C

Entrambe queste funzioni sono incluse nella libreria.

  • strcmp() - Questa funzione confronta due stringhe e restituisce la differenza comparativa nel numero di caratteri.
  • strncmp() - Questo è lo stesso di strcmp(), tranne per il fatto che confronta i primi n caratteri. È considerato più sicuro in quanto aiuta a prevenire l'overflow degli arresti anomali.
Confronta due stringhe nella fase di programmazione C 2
Confronta due stringhe nella fase di programmazione C 2

Passaggio 2. Avvia il programma con le librerie necessarie

Avrai bisogno di entrambe le librerie e, insieme a tutte le altre di cui potresti aver bisogno per il tuo programma specifico.

#include #include

Confronta due stringhe nella fase di programmazione C 3
Confronta due stringhe nella fase di programmazione C 3

Passaggio 3. Avvia un file

int funzione.

Questo è il modo più semplice per imparare questa funzione, poiché restituirà un numero intero che confronta la lunghezza delle due stringhe.

#include #include int main() { }

Confronta due stringhe nella fase di programmazione C 4
Confronta due stringhe nella fase di programmazione C 4

Passaggio 4. Definire le due stringhe che si desidera confrontare

Per questo esempio, confronteremo due stringhe di caratteri predefinite. Dovrai anche definire il valore restituito come un numero intero.

#include #include int main() { char *str1 = "mela"; char *str2 = "arancione"; int ret; }

Confronta due stringhe nella fase di programmazione C 5
Confronta due stringhe nella fase di programmazione C 5

Passaggio 5. Aggiungi la funzione di confronto

Ora che hai definito le tue due stringhe, puoi aggiungere la funzione di confronto. Useremo strncmp(), quindi dobbiamo assicurarci che il numero di caratteri da misurare sia impostato nella funzione.

#include #include int main() { char *str1 = "mela"; char *str2 = "arancione"; int ret; ret = strncmp(str1, str2, 6); /*Questo confronterà le due stringhe lunghe fino a 6 caratteri */ }

Confronta due stringhe nella fase di programmazione C 6
Confronta due stringhe nella fase di programmazione C 6

Passaggio 6. Utilizzare un file

Se altro dichiarazione per eseguire il confronto.

Ora che hai la funzione in atto, puoi usare un'istruzione If…Else per visualizzare quale stringa è più lunga. strncmp() restituirà 0 se le stringhe hanno la stessa lunghezza, un numero positivo se str1 è maggiore e un numero negativo se str2 è maggiore.

#include #include int main() { char *str1 = "mela"; char *str2 = "arancione"; int ret; ret = strncmp(str1, str2, 6); if(ret > 0) { printf("str1 è più lungo"); } else if(ret < 0) { printf("str2 è più lungo"); } else { printf("Le due stringhe sono uguali"); } ritorno(0); }

Consigliato: