我正在为计算机科学课做一些作业,而一项相当乏味的作业的最后一部分是编写一个可以反转句子的函数。教授提供的函数原型是这样的:
int reverseSentence(char** sentence, char **
newsentence, int maxWords)
...其中 sentence 是原始句子,newsentence 是我们应该转储反向句子的位置,而 maxWords 是原始句子中的单词数。我这样写了我的函数......
int reverseSentence(char** sentence, char **
newsentance, int maxWords)
{
int i = maxWords;
int x = 0;
while(i > 0){
newsentance[x] = sentence[i];
x++;
i--;
}
return maxWords;
}
然而,循环似乎永远在进行。另外,我似乎对如何使用char**
. 我以为它只是一个字符串数组,比如char[words][characters]
. 但是我收到有关以该形式将一组单词传递给函数的警告。我不是要求任何人为我做功课,只是为了澄清我在如何使用char**
.
任何帮助表示赞赏。谢谢你。
PS - 这就是我尝试测试我的代码的方式:
char sentence[3][4] = {"Hi\n", "my\n", "fri\n"};
char newsentence[3][4];
reverseSentence(sentence, newsentence, 3);