例如它打印'(夜晚'尽管令牌化(),为什么会发生这种情况?
char* word = strtok(&c, ",.;()");
while(word!= NULL)
{
word = strtok(NULL, ",.;()");
printf("%s ", &c);
}
答案 0 :(得分:1)
您的代码只会在每次迭代时打印&c
(不管是什么)。您永远不会打印word
,这是您的下一个标记。这就是为什么你永远不会看到你的标记化结果。如果您想查看代币,则必须打印word
,而不是c
。
最重要的是,您完全不清楚为什么要将&
运算符应用于c
。如果c
是一个字符串指针或一个char数组,则&
完全没有意义。