Comparaison des caractères dans la programmation C

Comparaison des caractères dans la programmation C

Comparaison des personnages En C, le langage de programmation est un élément fondamental de tout programme. Comme pour tout langage de programmation, il existe des différences entre la façon dont C gère Comparaison des personnages en surface et comment il le fait sous-trait sa logique de programme. Il s'agit de la méthode exacte que les sites Web utilisent pour vérifier vos mots de passe pour la cohérence lorsque vous vous joignez, le logiciel de détection de plagiat fonctionne, etc.

Pour vérifier si deux chaînes sont égales, nous pouvons soit leur comparer le caractère par caractère, soit utiliser une fonction intégrée. Discutons des deux méthodes de comparaison des personnages.

Méthode 1: Utilisation des opérateurs de comparaison

Quand cela vient à Comparaison des personnages En C, l'opération la plus courante est de comparer deux chaînes avec la même longueur, souvent appelée «Lexicographiquement» comparant. Cette méthode examine les caractères dans les chaînes individuellement et commence à comparer la première lettre de chaque chaîne. À partir de là, les seconds caractères sont comparés (s'ils sont les mêmes, les troisième caractères sont comparés, et ainsi de suite). Si la position de l'un ou l'autre des deux caractères n'est pas la même, alors la comparaison s'arrête, avec le caractère en position inférieure (i.e. le caractère avec un code ASCII inférieur) considéré comme le caractère «plus petit». Suivons cette méthode avec l'exemple ci-dessous:

#inclure
Void Compare (Char X, Char Y)

if (x == y)
printf ("Les deux caractères sont égaux \ n% c et% c \ n", x, y);
autre
printf ("% c et% c ne sont pas égaux \ n", x, y);

int main()

char a = 'h';
char b = 'h';
char c = 'h';
comparer (a, c);
comparer (b, a);
comparer (c, b);
retour 0;

Le code ci-dessus utilise la méthode définie par l'utilisateur comparer() Pour comparer deux caractères pour voir s'ils sont égaux. En lisant des valeurs à deux caractères de l'utilisateur et en les comparant, ce programme sortira "Les caractères sont égaux" Si les caractères sont égaux et "Les caractères ne sont pas égaux" sinon.

Sortir

Méthode 2: Utilisation de fonctions intégrées

En dépassant cette comparaison de base, C contient également de nombreux outils supplémentaires pour traiter Comparaison des personnages. Par exemple, la bibliothèque fonctionne strcmp () et strncmp () fournir un plus grand contrôle sur la comparaison, tandis que les opérateurs logiques tels que ||, &&, et ! Ajouter d'autres capacités. Ces méthodes et outils avancés peuvent être extrêmement utiles pour garantir que la logique de la comparaison est plus flexible et complète dans les programmes C.

I: Strcmp () Fonction

Le strcmp () La fonction incluse dans le fichier d'en-tête de chaîne de la bibliothèque C est également utilisée pour comparer les caractères. Deux cordes sont par rapport à un caractère comparé à l'aide du strcmp () méthode. Le premier caractère de chaque chaîne dans chacun est comparé d'abord, puis les caractères suivants.

#inclure
#inclure
int main()

char S1 [10];
char S2 [10];
INT VALEUR;
printf ("Entrez une chaîne:");
ScanF ("% S", S1);
printf ("Entrez la deuxième chaîne:");
scanf ("% s", s2);
valeur = strcmp (s1, s2);
if (valeur == 0)
printf ("Les deux chaînes sont les mêmes");
autre
printf ("Les chaînes ne sont pas les mêmes");
retour 0;

Les personnages S1 et s2 sont spécifiés dans ce code. Les utilisateurs sont ensuite invités à entrer les caractères. Une fois les caractères entrés, le strcmp () La fonction les compare, et la sortie est produite en fonction du résultat.

Sortir

II: Strncmp () Fonction

Le strncmp () La fonction est une fonction de chaîne utilisée pour comparer deux chaînes en C. Il détermine également si les deux chaînes sont égales. Le troisième paramètre est utilisé par le strncmp () fonction pour restreindre la comparaison. Cela implique que vous pouvez comparer les quatre premiers caractères, ou les cinq premiers caractères, etc. au lieu de toute la chaîne.

La comparaison entre les chaînes est effectuée sur la base de Ascii Valeurs des caractères.

Cette méthode renvoie les valeurs suivantes:

  • La valeur de retour inférieure à 0 dénote que str1 est inférieur à str2.
  • Valeur de retour> 0 indique que str2 est plus petit que str1 Si c'est.
  • Si la valeur de retour est 0, cela signifie que str1 et str2 sont équivalents.
#inclure
#inclure
int main()
char Str1 [10];
char Str2 [10];
Résultat int;
strcpy (str1, "vjjdvfvd");
strcpy (str2, "scjhscjs");
result = strncmp (str1, str2, 6);
if (résultat 0)
printf ("str2 est inférieur à Str1");
autre
printf ("str1 est égal à STR2");

return (0);

Ce code déclare les caractères S1 et S2. Après cela, les utilisateurs sont invités à taper les caractères. Après l'entrée des caractères, la fonction strncmp () les compare en utilisant le nombre de caractères choisis pour la comparaison, et la sortie est générée en fonction du résultat.

Sortir

Conclusion

Le Comparaison des personnages En C, le langage de programmation est un processus complexe et multiforme, avec différentes méthodes et outils requis en fonction du type de comparaison effectué. Comprendre exactement comment chaque partie du processus fonctionne et quels sont les outils les plus appropriés à utiliser est essentiel pour réussir la programmation C. Deux méthodes sont définies dans cet article pour Comparez les caractères: méthode de comparaison et fonctions intégrées.