Confronto dei caratteri nella programmazione C

Confronto dei caratteri nella programmazione C

Confronto dei personaggi In C, il linguaggio di programmazione è una parte fondamentale di qualsiasi programma. Come con qualsiasi linguaggio di programmazione, ci sono differenze tra il modo in cui C gestisce Confronto dei personaggi in superficie e come lo fa sottolinea la logica del suo programma. Questo è il metodo esatto che i siti Web utilizzati per verificare le password per coerenza quando ti uniscono, il software di rilevamento del plagio e così via.

Per verificare se due stringhe sono uguali, possiamo confrontarle carattere per carattere o utilizzare una funzione integrata. Discutiamo entrambi i metodi per il confronto dei personaggi.

Metodo 1: utilizzando gli operatori di confronto

Quando si tratta di Confronto dei personaggi In C, l'operazione più comune è confrontare due stringhe con la stessa lunghezza, spesso indicata come "Lessicograficamente" confronto. Questo metodo guarda i caratteri nelle stringhe singolarmente e inizia a confrontare la prima lettera in ogni stringa. Da lì, i secondi personaggi vengono confrontati (se sono uguali, i terzi personaggi vengono confrontati e così via). Se la posizione di uno dei due caratteri non è la stessa, allora il confronto si ferma, con il carattere in posizione inferiore (i.e. il carattere con un codice ASCII inferiore) considerato il carattere "più piccolo". Seguiamo questo metodo con l'esempio mostrato di seguito:

#includere
void confronta (char x, char y)

if (x == y)
printf ("Entrambi i caratteri sono uguali \ n %c e %c \ n", x, y);
altro
printf (" %c e %c non sono uguali \ n", x, y);

int main ()

char a = 'h';
char b = 'h';
char c = 'h';
Confronta (a, c);
confronta (b, a);
Confronta (c, b);
restituzione 0;

Il codice sopra utilizza il metodo definito dall'utente confrontare() Per confrontare due caratteri per vedere se sono uguali. Leggendo i valori di due caratteri dall'utente e confrontandoli, questo programma output "I personaggi sono uguali" Se i personaggi sono uguali e "I personaggi non sono uguali" Altrimenti.

Produzione

Metodo 2: utilizzando funzioni integrate

Andando oltre questo confronto di base, C contiene anche molti strumenti aggiuntivi per affrontare Confronto dei personaggi. Ad esempio, la libreria funziona strcmp () E strncmp () fornire un maggiore controllo sul confronto, mentre operatori logici come ||, &&, e ! Aggiungi ulteriori capacità. Questi metodi e strumenti avanzati possono essere estremamente utili per garantire che la logica del confronto sia più flessibile e completa nei programmi C.

I: funzione strcmp ()

IL strcmp () La funzione inclusa nel file di intestazione della stringa della libreria C viene utilizzata anche per confrontare i caratteri. Due stringhe sono caratteri per personaggio rispetto a strcmp () metodo. Il primo carattere di ciascuna stringa in ciascuna viene confrontato per primo, quindi i caratteri successivi.

#includere
#includere
int main ()

Char S1 [10];
Char S2 [10];
valore int;
printf ("Immettere una stringa:");
scanf ("%s", s1);
printf ("Immettere la seconda stringa:");
scanf ("%s", s2);
value = strcmp (S1, S2);
if (valore == 0)
printf ("entrambe le stringhe sono uguali");
altro
printf ("le stringhe non sono uguali");
restituzione 0;

I personaggi S1 E S2 sono specificati in questo codice. Agli utenti viene quindi richiesto di inserire i caratteri. Dopo che i caratteri sono stati inseriti, il strcmp () La funzione li confronta e l'output viene prodotto in base al risultato.

Produzione

II: funzione strncmp ()

IL strncmp () La funzione è una funzione stringa utilizzata per confrontare due stringhe in c. Determina anche se le due stringhe sono uguali. Il terzo parametro viene utilizzato da strncmp () funzione per limitare il confronto. Implica che puoi confrontare i primi quattro caratteri, o i primi cinque caratteri, ecc. Invece dell'intera stringa.

Il confronto tra le stringhe è eseguito in base a ASCII valori dei caratteri.

Questo metodo restituisce i seguenti valori:

  • Valore restituito inferiore a 0 lo denota STR1 è meno di STR2.
  • Valore di ritorno> 0 lo denota STR2 è più piccolo di STR1 se è.
  • Se il valore di ritorno è 0, significa che STR1 E STR2 sono equivalenti.
#includere
#includere
int main ()
Char Str1 [10];
Char Str2 [10];
RISULTATO INT;
strcpy (STR1, "vjjdvfvd");
strcpy (STR2, "SCJHSCJS");
risultato = strNCMP (STR1, STR2, 6);
if (risultato 0)
printf ("STR2 è inferiore a STR1");
altro
printf ("STR1 è uguale a STR2");

restituzione (0);

Questo codice dichiara i caratteri S1 e S2. Successivamente, gli utenti sono invitati a digitare i caratteri. Seguendo l'input dei caratteri, la funzione strncmp () li confronta usando il numero di caratteri scelti per il confronto e l'output viene generato in base al risultato.

Produzione

Conclusione

IL Confronto dei personaggi Nel linguaggio di programmazione C è un processo intricato e poliedrico, con diversi metodi e strumenti richiesti a seconda del tipo di confronto eseguito. Comprendere esattamente come funziona ogni parte del processo e quali sono gli strumenti più appropriati, è essenziale per la programmazione C di successo. In questo articolo sono definiti due metodi Confronta i personaggi: Metodo di confronto e funzioni integrate.