好的,这就是我想要完成的。
首先,下表只是我创建的一个示例,在我的作业中,我不应该知道其中任何一个。这意味着我不知道他们会通过什么以及每个字符串的长度是多少。
我正在尝试完成一项任务是能够比较字符串的一部分
//In Array `phrase` // in array `word`
"Backdoor", 0 "mark" 3 (matches "Market")
"DVD", 1 "of" 2 (matches "Get off")
"Get off", 2 "" -1 (no match)
"Market", 3 "VD" 1 (matches "DVD")
因此,您可以从左侧的上述代码中看到一组数组,我将它们存储在我的班级中,它们最多有 10 个单词
这是类定义。
class data
{
char phrase[10][40];
public:
int match(const char word[ ]);
};
所以我使用成员函数来访问这些私有数据。
int data::match(const char word[ ])
{
int n,
const int wordLength = strlen(word);
for (n=0 ; n <= 10; n++)
{
if (strncmp (phrase[n],word,wordLength) == 0)
{
return n;
}
}
return -1;
}
我试图使其工作的上述代码是它应该匹配并且如果它找到匹配则返回n
如果没有找到则返回索引应该总是返回-1
。
现在发生的事情总是回报10
。