C语言判断两个字符串s1和s2是否相等
时间: 2023-09-10 16:15:30 浏览: 86
可以使用C语言中的strcmp函数来判断两个字符串是否相等。strcmp函数的用法如下:
```c
#include <string.h>
int strcmp(const char *s1, const char *s2);
```
其中,s1和s2分别表示要比较的两个字符串,函数返回值为0表示两个字符串相等,返回值大于0表示s1大于s2,返回值小于0表示s1小于s2。下面是一个示例:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char s1[100], s2[100];
int result;
printf("请输入字符串s1:");
gets(s1);
printf("请输入字符串s2:");
gets(s2);
result = strcmp(s1, s2);
if (result == 0)
printf("s1等于s2\n");
else
printf("s1不等于s2\n");
return 0;
}
```
在上述示例中,gets函数用于从标准输入流中读取字符串,可以根据实际需要替换为其他读取字符串的函数。
相关问题
C语言判断两个字符串s1和s2是否相等用if
可以使用strcmp函数结合if语句来判断两个字符串s1和s2是否相等,示例如下:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char s1[100], s2[100];
printf("请输入字符串s1:");
gets(s1);
printf("请输入字符串s2:");
gets(s2);
if (strcmp(s1, s2) == 0)
printf("s1等于s2\n");
else
printf("s1不等于s2\n");
return 0;
}
```
在上述示例中,如果strcmp函数返回值为0,则表示s1和s2相等,if语句的判断条件为真,执行printf语句输出s1等于s2;否则,if语句的判断条件为假,执行else语句输出s1不等于s2。
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;
}
```