c++判断两个字符串内容是否相同
时间: 2023-09-05 16:13:42 浏览: 233
可以使用标准库函数strcmp(char *s1, char *s2)来比较两个字符串内容是否相同。该函数会返回0,如果两个字符串内容相同;否则,返回非0值。示例代码如下:
```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;
}
```
相关问题
C++判断两个字符串是否存在相同字符
在C++中,可以使用多种方法来判断两个字符串是否存在相同的字符。一种简单直接的方法是遍历其中一个字符串,对于每个字符,检查另一个字符串是否包含该字符。这里是一个示例代码片段:
```cpp
#include <iostream>
#include <string>
bool hasSameChar(const std::string& str1, const std::string& str2) {
// 遍历str1中的每个字符
for (char c : str1) {
// 如果找到这个字符在str2中,返回true
if (str2.find(c) != std::string::npos) {
return true;
}
}
// 没有找到相同的字符,返回false
return false;
}
int main() {
std::string str1 = "hello";
std::string str2 = "world";
if (hasSameChar(str1, str2)) {
std::cout << "The strings have at least one common character.\n";
} else {
std::cout << "The strings do not have any common characters.\n";
}
return 0;
}
```
在这个例子中,`find()`函数会在`str2`中查找`c`,如果找到则返回非`npos`值,表示找到了匹配。
c++判断两个字符串有相同元素
可以一个布尔数组来记录每个字符是否出现过,然后遍历第二个字符串,如果发现有字符在布尔数组中已经标记为出现过,即可判断这两个字符串有相同元素。
下面是一个示例代码:
```c
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#define MAX_LEN 100
bool hasCommonChar(char str1[], char str2[]) {
bool charSet[256] = {false}; // 布尔数组,记录每个字符是否出现过
int len1 = strlen(str1);
int len2 = strlen(str2);
int i;
// 遍历第一个字符串,标记每个字符是否出现过
for (i = 0; i < len1; i++) {
charSet[(int) str1[i]] = true;
}
// 遍历第二个字符串,如果发现有字符在布尔数组中已经标记为出现过,即可判断这两个字符串有相同元素
for (i = 0; i < len2; i++) {
if (charSet[(int) str2[i]]) {
return true;
}
}
return false; // 没有相同元素
}
int main() {
char str1[MAX_LEN], str2[MAX_LEN];
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
if (hasCommonChar(str1, str2)) {
printf("这两个字符串有相同元素。\n");
} else {
printf("这两个字符串没有相同元素。\n");
}
return 0;
}
```
阅读全文