C语言中判断两个字符串相等
时间: 2023-09-20 08:13:44 浏览: 191
在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()`或者自己实现字符串比较函数。
1. 使用`strcmp()`函数:
`strcmp()`函数用来比较两个字符串,它返回一个整数,表示两个字符串的大小关系。如果两个字符串相等,返回值为0。
例如:
```
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "hello";
char str2[] = "world";
if(strcmp(str1, str2) == 0) {
printf("str1 and str2 are equal\n");
} else {
printf("str1 and str2 are not equal\n");
}
return 0;
}
```
2. 自己实现字符串比较函数:
自己实现字符串比较函数需要比较两个字符串中每一个字符是否相等,如果全部相等则返回0,否则返回非零值。
例如:
```
#include <stdio.h>
int strcmp(char *s1, char *s2)
{
while(*s1 == *s2) {
if(*s1 == '\0') {
return 0;
}
s1++;
s2++;
}
return (*s1 - *s2);
}
int main() {
char str1[] = "hello";
char str2[] = "world";
if(strcmp(str1, str2) == 0) {
printf("str1 and str2 are equal\n");
} else {
printf("str1 and str2 are not equal\n");
}
return 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;
}
```
注意,以上代码是比较两个字符数组是否相等,而不是比较字符串常量和字符数组。如果要比较两个字符串常量,需要使用字符指针。