C 如何比较两个字符串并返回相同的字数?

C 如何比较两个字符串并返回相同的字数?,c,string,compare,words,C,String,Compare,Words,我正在用C语言编写代码,但我还没有一种有效的方法来进行比较,如果有人能帮助我,我将不胜感激 示例: W1:白色墙壁的大房子 W2:房屋墙壁 返回:2在思考如何解决问题时,将问题分解为几个步骤,您可以清楚地看到如何进行,以及这些步骤是如何朝着解决方案前进的。对于这样的事情,通常的方法是 复制每个字符串 对于每个字符串,创建一个指向char*的指针数组,其中 指向复制的字符串,然后 解析为“单词”(在所有非单词字符处放置'\0') 在字符串数组上运行qsort 然后,有两个排序的指向单词的指针数

我正在用C语言编写代码,但我还没有一种有效的方法来进行比较,如果有人能帮助我,我将不胜感激

示例:

W1:白色墙壁的大房子 W2:房屋墙壁


返回:2

在思考如何解决问题时,将问题分解为几个步骤,您可以清楚地看到如何进行,以及这些步骤是如何朝着解决方案前进的。对于这样的事情,通常的方法是

  • 复制每个字符串
  • 对于每个字符串,创建一个指向
    char*
    的指针数组,其中
  • 指向复制的字符串,然后
  • 解析为“单词”(在所有非单词字符处放置
    '\0'
  • 在字符串数组上运行
    qsort
然后,有两个排序的指向单词的指针数组,您可以使用
strcmp
编写一个循环来检查单词的相等性。我建议使用
strcmp
,因为(因为数组是排序的)很容易检查两个数组中的一个或另一个是否缺少单词


复制/解析/排序部分自然是一个函数,给定一个字符串并返回指针数组.

请添加一个您迄今为止尝试过的示例。我删除代码是因为我对代码感到不安…我会再次尝试:先将SIn切分为单词,如果句子短,如果长排序(和统一?),则使用
str
,然后进行比较。