Confronta Char in C

Satishkumar Bharadwaj 12 ottobre 2023
  1. Confronta Char in C utilizzando gli operatori di confronto
  2. Confronta i caratteri in C usando la funzione strcmp() in C
Confronta Char 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

Articolo correlato - C Char