为什么我的strtok()不适用于()?

时间:2017-11-02 02:26:13

标签: c

例如它打印'(夜晚'尽管令牌化(),为什么会发生这种情况?

char* word = strtok(&c, ",.;()");
  while(word!= NULL)
  {
    word = strtok(NULL, ",.;()");
    printf("%s ", &c);
  }

1 个答案:

答案 0 :(得分:1)

您的代码只会在每次迭代时打印&c(不管是什么)。您永远不会打印word,这是您的下一个标记。这就是为什么你永远不会看到你的标记化结果。如果您想查看代币,则必须打印word,而不是c

最重要的是,您完全不清楚为什么要将&运算符应用于c。如果c是一个字符串指针或一个char数组,则&完全没有意义。