Comparez Char en C

  1. Comparer les caractères en C à l’aide des opérateurs de comparaison
  2. Comparer les caractères en C en utilisant la fonction strcmp() en C

Ce tutoriel présente la comparaison des char en C. Une variable char est une valeur intégrale sur 8 bits, de 0 à 255. Ici, 0 représente le caractère C-nul, et 255 représente un symbole vide.

Comparer les caractères en C à l’aide des opérateurs de comparaison

Une variable char a sa propre valeur ASCII. Les caractères sont donc comparés en fonction des valeurs ASCII. Le programme complet est présenté ci-dessous :

#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 smaller than %c.", firstCharValue, secondCharValue);

    if(firstCharValue == secondCharValue)
        printf("%c is equal to %c.", firstCharValue, secondCharValue);

    return 0;
}

Production :

m is smaller than n.

Comparer les caractères en C en utilisant la fonction strcmp() en C

La fonction strcmp() est définie dans le fichier d’en-tête string et utilisée pour comparer deux chaînes de caractères caractère par caractère.

Si les premiers caractères des deux chaînes sont égaux, le caractère suivant des deux chaînes sera comparé. Elle continue jusqu’à ce que les caractères correspondants des deux chaînes soient soit différents, soit qu’un caractère nul '\0' soit atteint.

La syntaxe de la fonction strcmp() est la suivante.

int strcmp (const char* firstStringValue, const char* secondStringValue);
  • Si deux chaînes sont égales ou identiques, elle retourne 0.
  • Si la valeur ASCII du premier caractère non apparié est supérieure à celle du second, elle retourne une valeur entière positive
  • Si la valeur ASCII du premier caractère non apparié est inférieure à celle du second, elle retourne une valeur entière négative.

Le programme complet pour comparer deux chaînes de caractères est le suivant :

#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;
}

Production :

strcmp(firstString, secondString) = 0
strcmp(firstString, thirdString) = 1

Article connexe - C Char

  • Comment obtenir une sous-chaîne en C