我运行这段代码,然后核心转储...
#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*。
https://stackoverflow.com/questions/50558292
复制相似问题