Confronta Char in C
- Confronta Char in C utilizzando gli operatori di confronto
-
Confronta i caratteri in C usando la funzione
strcmp()
in C
Questo tutorial introduce come confrontare char in C. Una variabile char è un valore integrale a 8 bit, da 0 a 255. Qui, 0
sta per il carattere C-null e 255 sta per un simbolo vuoto.
Confronta Char in C utilizzando gli operatori di confronto
Una variabile char ha il proprio valore ASCII. Quindi i caratteri vengono confrontati in base ai valori ASCII. Il programma completo è il seguente:
#include <stdio.h>
int main(void) {
char firstCharValue = 'm';
char secondCharValue = 'n';
if (firstCharValue < secondCharValue)
printf("%c is smaller than %c.", firstCharValue, secondCharValue);
if (firstCharValue > secondCharValue)
printf("%c is greater than %c.", firstCharValue, secondCharValue);
if (firstCharValue == secondCharValue)
printf("%c is equal to %c.", firstCharValue, secondCharValue);
return 0;
}
Produzione:
m is smaller than n.
Confronta i caratteri in C usando la funzione strcmp()
in C
La funzione strcmp()
è definita nel file di intestazione string
e usata per confrontare due stringhe carattere per carattere.
Se i primi caratteri di entrambe le stringhe sono uguali, verrà confrontato il carattere successivo delle due stringhe. Continua fino a quando i caratteri corrispondenti di entrambe le stringhe sono diversi o viene raggiunto un carattere nullo '\0'
.
La sintassi per la funzione strcmp()
è la seguente.
int strcmp(const char* firstStringValue, const char* secondStringValue);
- Se due stringhe sono uguali o identiche, restituisce
0
. - Se il valore ASCII del primo carattere non corrispondente è maggiore del secondo, restituisce un valore intero positivo
- Se il valore ASCII del primo carattere senza corrispondenza è inferiore al secondo, restituisce un valore intero negativo.
Il programma completo per confrontare due stringhe è il seguente:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char firstString = "b", secondString = "b", thirdString = "B";
int result;
result = strcmp(&firstString, &secondString);
printf("strcmp(firstString, secondString) = %d\n", result);
result = strcmp(&firstString, &thirdString);
printf("strcmp(firstString,thirdString) = %d\n", result);
return 0;
}
L’output è:
strcmp(firstString, secondString) = 0 strcmp(firstString, thirdString) = 1