C语言strcmp()函数: 逐字符比较字符串253


C语言中的strcmp()函数是一个标准库函数,用于比较两个字符串。它逐字符比较两个字符串,直到找到一个不同的字符或到达字符串的结尾。此函数返回一个整数,表示比较结果:
如果第一个字符串大于第二个字符串,则返回正整数。
如果第一个字符串小于第二个字符串,则返回负整数。
如果两个字符串相等,则返回0。

语法

strcmp()函数的语法如下:int strcmp(const char *str1, const char *str2);


str1和str2是待比较的两个字符串。
该函数返回比较结果。

说明

strcmp()函数比较两个字符串,直到遇到NUL字符('\0')或比较的字符不同。如果字符串长度不等,则将较短的字符串补齐NUL字符至较长字符串的长度。比较不区分大小写。

如果两个字符串相等,则函数返回0。如果第一个字符串大于第二个字符串(按字典顺序),则函数返回正整数。如果第一个字符串小于第二个字符串(按字典顺序),则函数返回负整数。

示例
#include
#include
int main() {
char str1[] = "apple";
char str2[] = "banana";
int result = strcmp(str1, str2);
if (result == 0) {
printf("字符串相等。");
} else if (result > 0) {
printf("第一个字符串大于第二个字符串。");
} else {
printf("第一个字符串小于第二个字符串。");
}
return 0;
}

运行上述代码将输出:
第一个字符串小于第二个字符串。

注意事项
strcmp()函数不区分大小写。
如果两个字符串相等,该函数返回0,而不管它们的长度。
该函数可以比较空字符串。
空字符串小于任何非空字符串。

字符串比较替代方案

除了strcmp()函数外,C语言还提供以下字符串比较函数:
strncmp():比较字符串的一部分。
strcasecmp():不区分大小写的字符串比较。
strncasecmp():不区分大小写的字符串一部分比较。


strcmp()函数是一个有用的工具,用于比较C语言中的两个字符串。通过逐字符比较,它可以确定字符串是否相等、大小或不相同。了解此函数的使用以及其替代方案对于高效地处理字符串至关重要。

2024-12-18


上一篇:C 语言中必备的实用函数

下一篇:if 函数:在 C 语言中做出明智决策