Tag: segmentation fault

strtok分段错误

我试图理解为什么下面的代码片段给出了分段错误: void tokenize(char* line) { char* cmd = strtok(line,” “); while (cmd != NULL) { printf (“%s\n”,cmd); cmd = strtok(NULL, ” “); } } int main(void) { tokenize(“this is a test”); } 我知道strtok()实际上并没有对字符串文字进行标记,但在这种情况下, line直接指向字符串”this is a test” ,它在内部是一个char数组。 是否有任何令牌化line而不将其复制到数组中?