【发布时间】:2018-05-28 02:14:03
【问题描述】:
我运行这段代码并转储了核心......
#include <string.h>
#include <stdio.h>
int main()
{
char *a= "ls";
char *b= "ls -l";
char *t = strtok(b," \t");
if (!strcmp(a,t))
printf("EQU\n");
else
printf("NOT EQU\n");
}
但是在我将char *b="ls -l"; 更改为char b[]="ls -l" 之后,它就可以工作了。
为什么?
我知道一个是数组,另一个是指针。但是它们对于 strtok 有什么不同吗? strtok 的手册页说第一个参数应该是 char*。
【问题讨论】: