c语言判断两个字符串是否相同
时间: 2023-12-02 17:06:15 浏览: 97
在C语言中,可以使用标准库函数strcmp()来判断两个字符串是否相同。
strcmp()函数的原型为:
```c
int strcmp(const char *str1, const char *str2);
```
其中,str1和str2是要比较的两个字符串。
如果两个字符串相同,函数返回0;如果str1大于str2,函数返回一个正整数;如果str1小于str2,函数返回一个负整数。
下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str1[50] = "hello";
char str2[50] = "world";
char str3[50] = "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相同
```
相关问题
c语言判断两个字符串是否相等
在C语言中,我们可以通过strcmp函数来判断两个字符串是否相等。strcmp函数的原型为:
int strcmp(const char *str2, const char *str1);
其中,str1和str2是两个要比较的字符串。如果str1和str2相等,strcmp函数返回0;如果str1大于str2,strcmp函数返回正数;如果str1小于str2,strcmp函数返回负数。
举例来说,比较两个字符串"Hello"和"Hello"的代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "Hello";
if(strcmp(str1, str2) == 0) {
printf("字符串相等!\n");
}
else {
printf("字符串不相等!\n");
}
return 0;
}
```
上述代码中,我们先定义两个字符串变量str1和str2,并赋值为"Hello"。然后使用strcmp函数比较str1和str2的值是否相等,如果相等,则输出"字符串相等!",否则输出"字符串不相等!"。
需要注意的是,strcmp函数比较的是字符串中的内容,即字符集合,而不是字符串的地址。因此,只要两个字符串的内容相同,它们就被认为是相等的。
C语言判断两个字符串重复
在C语言中,判断两个字符串是否重复通常需要先比较它们的长度,如果长度相等再逐个字符进行比较。这里有一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
int isDuplicate(char str1[], char str2[]) {
if (strcmp(str1, str2) == 0) { // 使用strcmp函数比较两串是否相等
return 1; // 如果相等,则返回1,表示重复
} else {
return 0; // 否则返回0,表示不重复
}
}
int main() {
char str1[] = "Hello";
char str2[] = "World";
char str3[] = "Hello"; // 测试重复的情况
printf("%s and %s are %s duplicate.\n", str1, str2, isDuplicate(str1, str2) ? "" : "not ");
printf("%s and %s are %s duplicate.\n", str1, str3, isDuplicate(str1, str3) ? "" : "not ");
return 0;
}
```
在这个例子中,`isDuplicate`函数接收两个字符串作为参数,通过`strcmp`函数检查它们是否完全相同。如果相同,函数返回1;如果不相同,返回0。
阅读全文