La fonction strcmp() est une fonction de bibliothèque intégrée et elle est déclarée dans le fichier d'en-tête « string.h ». Cette fonction est utilisée pour comparer les arguments de chaîne. Il compare les chaînes lexicographiquement, ce qui signifie qu'il compare les deux chaînes caractère par caractère. Il commence à comparer le tout premier caractère des chaînes jusqu'à ce que les caractères des deux chaînes soient égaux ou qu'un caractère NULL soit trouvé.
Si le premier caractère des deux chaînes est égal, il vérifie le deuxième caractère et ainsi de suite. Ce processus se poursuivra jusqu'à ce que le caractère NULL soit trouvé ou que les deux caractères soient inégaux.
Voici la syntaxe de strcmp() en langage C,
int strcmp(const char *leftStr, const char *rightStr );
Cette fonction renvoie les trois valeurs différentes suivantes basées sur la comparaison.
1 .Zero(0) − Il renvoie zéro si les deux chaînes sont identiques. Tous les caractères sont identiques dans les deux chaînes.
Voici un exemple de strcmp() lorsque les deux chaînes sont égales en langage C,
Live Demo
#include<stdio.h> #include<string.h> int main() { char str1[] = "Tom!"; char str2[] = "Tom!"; int result = strcmp(str1, str2); if (result==0) printf("Strings are equal"); else printf("Strings are unequal"); printf("\nValue returned by strcmp() is: %d" , result); return 0; }
Strings are equal Value returned by strcmp() is: 0
2.大于零(>0 ) − 当左字符串的匹配字符的ASCII值大于右字符串的字符时,它返回一个大于零的值。
这C语言中strcmp()返回大于零值的一个例子,
在线演示
#include<stdio.h> #include<string.h> int main() { char str1[] = "hello World!"; char str2[] = "Hello World!"; int result = strcmp(str1, str2); if (result==0) printf("Strings are equal"); else printf("Strings are unequal"); printf("\nValue returned by strcmp() is: %d" , result); return 0; }
Strings are unequal Value returned by strcmp() is: 32
3.小于零(<0) − 当左字符串的匹配字符的ASCII值小于右字符串的字符时,它返回一个小于零的值。
下面是C语言中strcmp()的一个例子
在线演示
#include<stdio.h> #include<string.h> int main() { char leftStr[] = "Hello World!"; char rightStr[] = "hello World!"; int result = strcmp(leftStr, rightStr); if (result==0) printf("Strings are equal"); else printf("Strings are unequal"); printf("\nValue returned by strcmp() is: %d" , result); return 0; }
Strings are unequal Value returned by strcmp() is: -32
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!