C 为什么';我的strtok()不是专门为()工作吗?
例如,尽管标记化(),但它仍打印“(夜间”),为什么会发生这种情况C 为什么';我的strtok()不是专门为()工作吗?,c,C,例如,尽管标记化(),但它仍打印“(夜间”),为什么会发生这种情况 char* word = strtok(&c, ",.;()"); while(word!= NULL) { word = strtok(NULL, ",.;()"); printf("%s ", &c); } 您的代码只在每次迭代(无论是什么)时打印&c。您永远不会打印word,这是您的下一个标记。这就是为什么您永远看不到标记化的结果。如果您想查看标记,您必须打印word,而不是c
char* word = strtok(&c, ",.;()");
while(word!= NULL)
{
word = strtok(NULL, ",.;()");
printf("%s ", &c);
}
您的代码只在每次迭代(无论是什么)时打印
&c
。您永远不会打印word
,这是您的下一个标记。这就是为什么您永远看不到标记化的结果。如果您想查看标记,您必须打印word
,而不是c
除此之外,完全不清楚为什么要将
&
运算符应用于c
。如果c
是字符串指针或字符数组,那么&
就毫无意义了。什么是c
?如果是单个字符,则使用strok()是非常不合适的。什么是c
?为什么要将和应用于c
?