//PROBLEM NUMBER 2
//how to store word from pointer2char into wordList array?
New_sentence
是一个包含字符串的数组(从用户输入的句子)。
pointers2char
是一个指针数组,可以保存指向New_sentence
每个单词的指针。
当功能输出时,只显示字符串的第一个字,然后程序结束。
如何将New_sentence
中的所有字词存储在pointers2char
中?
答案 0 :(得分:0)
在for
循环中,您从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;
答案 1 :(得分:0)
你的for循环使用这个问题。我认为它会解决你的问题
for(i = 0; pointers2char[i] != NULL;)
{
printf("%s\n", pointers2char[i]);
nWords++;
pointers2char[++i] = strtok(NULL, "\t");
}