Comparez deux chaînes dans le langage de programmation C.

Auteur: Judy Howell
Date De Création: 27 Juillet 2021
Date De Mise À Jour: 10 Peut 2024
Anonim
Cours/TP - Chaines de Caractères (Langage C) : M21 - Programmation 2
Vidéo: Cours/TP - Chaines de Caractères (Langage C) : M21 - Programmation 2

Contenu

La comparaison de longueur de chaîne est une fonction couramment utilisée dans le langage de programmation C, car elle vous permet de savoir quelle chaîne contient le plus de caractères. Ceci est très utile pour trier les données. La comparaison de chaînes nécessite une fonction spéciale; alors n'utilisez pas: != ou alors ==.

Avancer d'un pas

  1. Il existe deux fonctions qui vous permettent de comparer des chaînes en C. Les deux sont inclus dans le string.h>bibliothèque de codes.
    • strcmp () - Cette fonction compare deux chaînes et renvoie la différence du nombre de caractères.
    • strncmp () - Cela vaut également pour strcmp (), sauf que celui-ci est le premier n compare les caractères. Il est considéré comme plus sûr car il permet d'éviter les pannes de débordement.
  2. Exécutez le programme avec les bibliothèques nécessaires. Vous avez les deux bibliothèques stdio.h> et string.h> nécessaire, ainsi que d'autres bibliothèques dont vous pourriez avoir besoin pour votre programme.

    #include stdio.h> [[Image: Compare Two Strings in C Programming Step 1 Version 4.webp | center]] #include string.h>

  3. Commencez-en un.intune fonction. C'est le moyen le plus simple d'apprendre cette fonction car elle renvoie un entier comparant la longueur des deux chaînes.

    [[Image: Compare Two Strings in C Programming Step 2 Version 4.webp | center]] #include stdio.h> [[Image: Compare Two Strings in C Programming Step 3 Version 3.webp | center]] #include string. h> int main () {}

  4. Décidez des deux chaînes que vous souhaitez comparer. Dans cet exemple, nous comparons deux données carboniser cordes. Vous devez également déterminer la valeur de retour sous forme d'entier.

    [[Image: Compare Two Strings in C Programming Step 4 Version 4.webp | center]] #include stdio.h> [[Image: Compare Two Strings in C Programming Step 5 Version 4.webp | center]] #include string. h> int main () {char * str1 = "pomme"; char * str2 = "orange"; int ret;}

  5. Ajoutez la fonction de comparaison. Maintenant que vous avez défini deux chaînes, vous pouvez ajouter la fonction de comparaison. Nous allons strncmp () nous devons donc nous assurer que le nombre de caractères à mesurer est défini dans la fonction.

    [[Image: Compare Two Strings in C Programming Step 6 Version 4.webp | center]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "orange"; int ret; ret = strncmp (str1, str2, 11); / * Compare les deux chaînes de 11 caractères maximum * /}

  6. Utiliser.Sinonpour effectuer la comparaison. Maintenant que nous avons créé la fonction, utilisez Sinon pour déterminer quelle chaîne est la plus longue. strncmp () donne 0 par conséquent, si les chaînes ont la même longueur, un nombre positif si str1 est plus long et un nombre négatif si str2 est plus long.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "orange"; int ret; ret = strncmp (str1, str2, 11); if (ret> 0) {printf ("str1 est plus long"); } else if (ret 0) {printf ("str2 est plus long"); } else {printf ("Les deux chaînes sont identiques"); } retour (0); }

Mises en garde

  • N'oubliez pas que la valeur de retour est 0 si les chaînes sont égales. Cela peut prêter à confusion car 0 est également la valeur de FALSE.