Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 为什么';我的strtok()不是专门为()工作吗?_C - Fatal编程技术网

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