c语言中,怎么判断两个字符串是否相等
时间: 2023-09-01 19:07:30 浏览: 58
在C语言中,判断两个字符串是否相等需要使用strcmp函数,该函数会比较两个字符串中每个字符的ASCII码值,如果相等则返回0,否则返回非0值。
以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "hello";
char str2[] = "world";
char str3[] = "hello";
if (strcmp(str1, str2) == 0) {
printf("str1 和 str2 相等\n");
} else {
printf("str1 和 str2 不相等\n");
}
if (strcmp(str1, str3) == 0) {
printf("str1 和 str3 相等\n");
} else {
printf("str1 和 str3 不相等\n");
}
return 0;
}
```
输出结果为:
```
str1 和 str2 不相等
str1 和 str3 相等
```
注意,使用strcmp函数判断字符串相等时,需要保证两个字符串都以'\0'结尾。
相关问题
C语言中判断两个字符串相等
在C语言中,判断两个字符串是否相等可以使用strcmp函数进行比较。strcmp函数是C标准库中的字符串比较函数,它的原型如下:
```c
int strcmp(const char *str1, const char *str2);
```
该函数接受两个参数,分别是要进行比较的两个字符串的指针。如果两个字符串相等,strcmp函数将返回0;如果第一个字符串小于第二个字符串,返回一个负整数;如果第一个字符串大于第二个字符串,返回一个正整数。
下面是一个示例代码,演示如何使用strcmp函数判断两个字符串是否相等:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "hello";
char str2[] = "world";
if (strcmp(str1, str2) == 0) {
printf("两个字符串相等\n");
} else {
printf("两个字符串不相等\n");
}
return 0;
}
```
在上面的示例代码中,我们将字符串"hello"和"world"分别存储在字符数组str1和str2中,然后使用strcmp函数比较这两个字符串。根据函数的返回值来判断两个字符串是否相等,并输出相应的结果。
注意:在使用strcmp函数比较字符串时,需要确保两个字符串以'\0'(空字符)结尾,否则可能会导致不确定的结果。
C语言判断两个字符串是否相等
C语言中判断两个字符串是否相等的方法有几种。一种常用的方法是使用strcmp函数进行比较。strcmp函数可以比较两个null-terminated的字符串是否相等。如果两个字符串相等,strcmp函数返回0;如果不相等,返回非零值。另外一种方法是使用memcmp函数进行比较。memcmp函数可以比较任意两个字符数组是否相等。
下面是使用strcmp函数进行比较的代码示例:
```c
#include <stdio.h>
#include <string.h>
int main(void) {
char str1[] = "hello";
char str2[] = "hello";
if (strcmp(str1, str2) == 0) {
printf("The two strings are equal.\n");
} else {
printf("The two strings are not equal.\n");
}
return 0;
}
```
注意,以上代码是比较两个字符数组是否相等,而不是比较字符串常量和字符数组。如果要比较两个字符串常量,需要使用字符指针。