在C语言中,字符数组可以通过字符串字面量进行初始化,例如:
char str1[] = "Hello";
char str2[] = "World";
使用==
运算符比较两个字符数组时,实际上是比较它们的地址,而不是它们的内容。因此,如果要比较两个字符数组的内容是否相同,需要使用strcmp
函数。
#include<string.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
char str3[] = "Hello";
if (strcmp(str1, str2) == 0) {
printf("str1 and str2 are equal\n");
} else {
printf("str1 and str2 are not equal\n");
}
if (strcmp(str1, str3) == 0) {
printf("str1 and str3 are equal\n");
} else {
printf("str1 and str3 are not equal\n");
}
return 0;
}
输出:
str1 and str2 are not equal
str1 and str3 are equal
在这个例子中,strcmp
函数比较了两个字符数组的内容,如果内容相同,则返回0,否则返回一个非零值。
领取专属 10元无门槛券
手把手带您无忧上云