C / C ++中的strncmp()和strcmp()之间的区别
strncmp()
该函数strncmp()
用于比较左字符串与右字符串(最多一个数字)。它的工作原理与相同strcmp()
。当左字符串的匹配字符的ASCII值大于右字符串的字符时,它将返回大于零的值。当左字符串的匹配字符的ASCII值小于右字符串的字符时,返回小于零的值。
这是strncmp()
C语言的语法,
int strncmp ( const char *leftString, const char *rightString, size_t number );
这里,
leftString- 第一个要与右字符串进行比较的字符串。
rightString- 第二个字符串,用于比较第一个字符串。
数-最大字符数比较。
这是strncmp()
C语言的示例,
示例
#include<stdio.h> #include<string.h> int main() { char str1[] = "blank"; char str2[] = "你好,世界!"; int result = strncmp(str1, str2, 1); 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: 26
strcmp()
该函数strcmp()
是内置库函数,在“string.h”头文件中声明。此函数用于比较字符串参数。它按字典顺序比较字符串,这意味着逐字符比较两个字符串。它开始比较字符串的第一个字符,直到两个字符串的字符相等或找到NULL字符为止。
如果两个字符串的第一个字符相等,则检查第二个字符,依此类推。该过程将一直持续到找到NULL字符或两个字符都不相等为止。如果两个字符串相同,即两个字符串中的字符相同,则返回零。
当左字符串的匹配字符的ASCII值大于右字符串的字符时,它将返回大于零的值。当左字符串的匹配字符的ASCII值小于右字符串的字符时,它将返回小于零的值。
这是strcmp()
C语言的语法,
int strcmp(const char *leftString, const char *rightString );
这里,
leftString-第一个要与右字符串进行比较的字符串。
rightString-第二个字符串,用于比较第一个字符串。
这是strcmp()
C语言的示例,
示例
#include<stdio.h> #include<string.h> int main() { char str1[] = "你好,世界!"; char str2[] = "你好,世界!"; 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