我有一个更大的任务,其中包含这个函数。以下是说明:
定义一个名为isPartOf的C++函数,它有两个参数指向C字符串(即char *类型,而不是尚未详细声明的C++数据类型string),并返回一个布尔值。
实质上,该函数应检查第一个参数指针所指向的字符串是否是第二个参数指针所指向的字符串的一部分。
例如:isPartOf("heart", "hypertensive heart disease")返回true,isPartOf("screw", "Case Involving wheelchair")返回false。
我学习C语言已经有一年了,刚开始学习C++,发现很难理解'char *'的用法和参数的概念。我花了一段时间才理解指针,现在又被参数搞糊涂了。我已经尝试了所有可能的*和&的组合,只是为了看看它是否能工作,但它没有。
#include <iostream>
using namespace std;
void isPartOf(char *, char *);
int main()
{
char * Word;
char * Sentence;
cout << "Please enter a word: ";
cin >> Word;
cout << endl << "Please enter a sentence: ";
cin >> Sentence;
cout << endl;
isPartOf(Word, Sentence);
if (isPartOf(Word, Sentence))
{
cout << "It is part of it";
}
else
{
cout << "It is not part of it";
}
}
void isPartOf(char a, char b)
{
}
我在这里有两个主要问题:
- 在这种情况下,参数是如何工作的?
- 是否有一个函数可以检查字符串是否存在于另一个字符串中?如果没有,我该如何开始编写此类函数的代码?
cin
函数将输入字符并将它们放置在指针Word
所指向的位置。在输入之前,它指向哪里? - Thomas Matthews