-1
    //PROBLEM NUMBER 2
    //how to store word from pointer2char into wordList array?

New_sentence是一个包含字符串(用户输入的句子)的数组。

pointers2char是一个指针数组,应该保存指向 New_sentence.

函数输出时,只显示字符串的第一个单词,然后程序结束。

如何获取所有单词New_sentence以存储pointers2char

4

2 回答 2

0

在您的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;
于 2013-04-15T06:43:41.453 回答
0

你的for循环有问题使用这个。我认为它会解决你的问题

for(i = 0; pointers2char[i] != NULL;)
{
   printf("%s\n", pointers2char[i]);
   nWords++;
   pointers2char[++i] = strtok(NULL, "\t");
}
于 2013-04-15T07:12:24.943 回答