介绍
在C语言中,要比较两个字符串是否相同,可以使用strcmp
函数。strcmp
函数会逐个比较两个字符串中的字符,并返回一个整数值表示比较结果。
strcmp
函数的原型在string.h
头文件中声明如下:
int strcmp(const char *str1, const char *str2);
函数接受两个参数 str1
和 str2
,分别指向要比较的两个字符串。函数返回的整数值的含义如下:
- 如果
str1
和str2
相同,返回0。 - 如果
str1
小于str2
,返回一个小于0的整数。 - 如果
str1
大于str2
,返回一个大于0的整数。
示例
以下是一个使用strcmp
函数比较两个字符串的示例:
#include <stdio.h>
#include <string.h>
int main() {
const char str1[] = "Hello";
const char str2[] = "World";
const char str3[] = "Hello";
int result1 = strcmp(str1, str2);
int result2 = strcmp(str1, str3);
if (result1 == 0) {
printf("str1 and str2 are equal.\n");
} else {
printf("str1 and str2 are not equal.\n");
}
if (result2 == 0) {
printf("str1 and str3 are equal.\n");
} else {
printf("str1 and str3 are not equal.\n");
}
return 0;
}
在这个示例中,strcmp
函数分别比较了str1
和str2
,以及str1
和str3
,并输出结果。result1
将是一个非零值,因为"Hello"和"World"不相等,result2
将为0,因为"Hello"和"Hello"是相等的。