21xrx.com
2024-09-20 01:11:46 Friday
登录
文章检索 我的文章 写文章
C++ 如何判断两个字符串是否相等并输出不同字符?
2023-06-27 16:09:16 深夜i     --     --
C++ 判断 两个字符串 相等 输出 不同字符

在 C++ 中,判断两个字符串是否相等是一项常见的任务。常用方法是使用字符串比较函数 strcmp,如果返回值为 0,则表示两个字符串相等。但是如果要输出两个字符串的不同字符,我们需要使用其他的方法。

首先,我们需要考虑两个字符串的长度是否相同。如果长度不同,两个字符串肯定不相等。假设两个字符串分别为 str1 和 str2,可以使用 strlen 函数来获取字符串的长度,并进行比较:


if (strlen(str1) != strlen(str2))

  cout << "两个字符串不相等" << endl;

  return 0;

接下来,我们可以使用 for 循环依次比较两个字符串的每一个字符。如果遇到不同的字符,我们可以输出它们,并将其在字符串中的位置也输出。


for (int i = 0; i < strlen(str1); i++) {

  if (str1[i] != str2[i]) {

    cout << "第 " << i + 1 << " 个字符不相同,分别为 " << str1[i] << " 和 " << str2[i] << endl;

  }

}

完整的代码如下:


#include <iostream>

#include <cstring>

using namespace std;

int main() {

  char str1[100];

  char str2[100];

  cout << "请输入第一个字符串:" << endl;

  cin >> str1;

  cout << "请输入第二个字符串:" << endl;

  cin >> str2;

  if (strlen(str1) != strlen(str2))

    cout << "两个字符串不相等" << endl;

    return 0;

  

  for (int i = 0; i < strlen(str1); i++) {

    if (str1[i] != str2[i]) {

      cout << "第 " << i + 1 << " 个字符不相同,分别为 " << str1[i] << " 和 " << str2[i] << endl;

    }

  }

  return 0;

}

这样就可以判断两个字符串是否相等并输出不同字符了。需要注意的是,上述方法只适用于两个普通字符串的比较,如果涉及到 Unicode 字符串或其他特殊字符串,可能需要使用其他的方法。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复