Confronta due stringhe nel linguaggio di programmazione C.

Autore: Judy Howell
Data Della Creazione: 27 Luglio 2021
Data Di Aggiornamento: 10 Maggio 2024
Anonim
Esercizi 1 - Confronto fra stringhe
Video: Esercizi 1 - Confronto fra stringhe

Contenuto

Il confronto della lunghezza delle stringhe è una funzione comunemente usata nel linguaggio di programmazione C, perché consente di scoprire quale stringa contiene più caratteri. Questo è molto utile per ordinare i dati. Il confronto tra stringhe richiede una funzione speciale; quindi non usare: != o ==.

Al passo

  1. Esistono due funzioni che consentono di confrontare le stringhe in C. Entrambi sono inclusi nel file stringa.h>libreria di codici.
    • strcmp () - Questa funzione confronta due stringhe e restituisce la differenza nel numero di caratteri.
    • strncmp () - Questo vale anche per strcmp (), tranne per il fatto che questo è il primo n confronta i caratteri. È considerato più sicuro in quanto aiuta a prevenire arresti anomali di overflow.
  2. Esegui il programma con le librerie necessarie. Hai entrambe le librerie stdio.h> e stringa.h> necessario, insieme ad altre librerie di cui potresti aver bisogno per il tuo programma.

    #include stdio.h> [[Image: Compare Two Strings in C Programming Step 1 Version 4.webp | center]] #include string.h>

  3. Avvia uno.intfunzione. Questo è il modo più semplice per apprendere questa funzione in quanto restituisce un numero intero confrontando la lunghezza delle due stringhe.

    [[Immagine: confronta due stringhe nella fase di programmazione C 2 versione 4.webp | center]] #include stdio.h> [[Immagine: confronta due stringhe nella fase 3 di programmazione C versione 3.webp | center]] #include stringa. h> int main () {}

  4. Decidi quali due stringhe vuoi confrontare. In questo esempio confrontiamo due dati char stringhe. È inoltre necessario determinare il valore restituito come numero intero.

    [[Immagine: confronta due stringhe nella fase 4 di programmazione C versione 4.webp | center]] #include stdio.h> [[Immagine: confronta due stringhe nella fase 5 di programmazione C versione 4.webp | center]] #include stringa. h> int main () {char * str1 = "mela"; char * str2 = "arancione"; int ret;}

  5. Aggiungi la funzione di confronto. Ora che hai definito due stringhe, puoi aggiungere la funzione di confronto. Andiamo strncmp () quindi dobbiamo assicurarci che il numero di caratteri da misurare sia impostato all'interno della funzione.

    [[Immagine: Confronta due stringhe nella fase di programmazione C 6 versione 4.webp | center]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "arancione"; int ret; ret = strncmp (str1, str2, 11); / * Confronta le due stringhe lunghe fino a 11 caratteri * /}

  6. Uso.Se altroper eseguire il confronto. Ora che abbiamo creato la funzione, usa Se altro per determinare quale stringa è più lunga. strncmp ()0 di conseguenza, se le stringhe hanno la stessa lunghezza, un numero positivo se str1 è più lungo e un numero negativo se str2 è più lungo.

    #include stdio.h> #include string.h> int main () {char * str1 = "mela"; char * str2 = "arancione"; int ret; ret = strncmp (str1, str2, 11); if (ret> 0) {printf ("str1 è più lungo"); } altrimenti se (ret 0) {printf ("str2 è più lungo"); } else {printf ("Le due stringhe sono uguali"); } return (0); }

Avvertenze

  • Ricorda che il valore restituito è 0 se le stringhe sono uguali. Questo può creare confusione perché 0 è anche il valore di FALSE.