//PROBLEM NUMBER 2
//how to store word from pointer2char into wordList array?
New_sentence
是一个包含字符串(用户输入的句子)的数组。
pointers2char
是一个指针数组,应该保存指向 New_sentence
.
函数输出时,只显示字符串的第一个单词,然后程序结束。
如何获取所有单词New_sentence
以存储pointers2char
?
在您的for
-loop 中,您从i = 1
. 在循环的第一次迭代之前,pointers2char[i] != NULL
评估。由于pointers2char[1]
此时很可能未初始化,它很可能会返回NULL
. 结果,您永远不会进入循环。
尝试以下操作:
pointers2char[0] = strtok(New_sentence, " \t");
for (i = 0; pointers2char[i] != NULL; i++) {
printf("%s\n", pointers2char[i]);
pointers2char[i + 1] = strok(NULL, " \t");
}
*nWords = i;
你的for循环有问题使用这个。我认为它会解决你的问题
for(i = 0; pointers2char[i] != NULL;)
{
printf("%s\n", pointers2char[i]);
nWords++;
pointers2char[++i] = strtok(NULL, "\t");
}