C 语言字符串判断函数详解129


在 C 编程语言中,字符串是一组字符的集合,通常以空字符 '\0' 结尾。C 语言提供了丰富的字符串处理函数,这些函数可以帮助你轻松地比较、复制、连接和搜索字符串。其中,字符串判断函数是 C 语言字符串操作中非常重要的一个部分,它们可以用来判断两个字符串是否相等、大小关系以及包含关系等。

字符串比较函数

C 语言中提供了两个用于比较字符串的函数:strcmp() 和 strncmp()。
strcmp() 函数比较两个字符串是否相等。如果两个字符串相等,则返回 0;如果第一个字符串大于第二个字符串,则返回大于 0 的值;如果第一个字符串小于第二个字符串,则返回小于 0 的值。
strncmp() 函数与 strcmp() 类似,但它只比较指定数量的字符。第一个参数是要比较的字符串,第二个参数是要比较的字符数量,第三个参数是要比较的字符串。如果两个字符串在指定数量的字符内相等,则返回 0;否则,返回大于或小于 0 的值。

字符串大小关系函数

C 语言中提供了两个用于确定字符串大小关系的函数:strlen() 和 strcasecmp()。
strlen() 函数返回字符串的长度,即从字符串开头到空字符 '\0' 的字符数。如果字符串中没有空字符,则 strlen() 函数返回字符串的总长度。
strcasecmp() 函数与 strcmp() 类似,但它不区分大小写。如果两个字符串不区分大小写相等,则返回 0;如果第一个字符串大于第二个字符串,则返回大于 0 的值;如果第一个字符串小于第二个字符串,则返回小于 0 的值。

字符串包含关系函数

C 语言中提供了两个用于检查字符串包含关系的函数:strstr() 和 strchr()。
strstr() 函数在第一个字符串中搜索第二个字符串,并返回第一个字符串中第一个匹配子字符串的地址。如果没有找到匹配子字符串,则返回 NULL。
strchr() 函数在字符串中搜索指定的字符,并返回该字符第一次出现的地址。如果没有找到指定字符,则返回 NULL。

示例代码

以下是一个示例代码,展示了如何使用这些字符串判断函数:```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
char str3[] = "hello";
// 比较字符串
int result = strcmp(str1, str2);
if (result == 0) {
printf("str1 和 str2 相等");
} else if (result > 0) {
printf("str1 大于 str2");
} else {
printf("str1 小于 str2");
}
// 比较字符串,不区分大小写
result = strcasecmp(str1, str3);
if (result == 0) {
printf("str1 和 str3 不区分大小写相等");
} else if (result > 0) {
printf("str1 大于 str3(不区分大小写)");
} else {
printf("str1 小于 str3(不区分大小写)");
}
// 获取字符串长度
int length = strlen(str1);
printf("str1 的长度为 %d", length);
// 检查字符串中是否包含子字符串
char *ptr = strstr(str1, "llo");
if (ptr != NULL) {
printf("str1 中包含子字符串 llo");
} else {
printf("str1 中不包含子字符串 llo");
}
// 检查字符串中是否包含字符
ptr = strchr(str1, 'e');
if (ptr != NULL) {
printf("str1 中包含字符 'e'");
} else {
printf("str1 中不包含字符 'e'");
}
return 0;
}
```
输出:
```
str1 和 str2 不相等
str1 大于 str2
str1 和 str3 不区分大小写相等
str1 的长度为 5
str1 中包含子字符串 "llo"
str1 中包含字符 'e'
```

2025-02-09


上一篇:C 语言输出函数大全

下一篇:sgn 函数的 C 语言表示