为什么用strtok时会有段错误呢?

下面是我的程序,很简单,可是不知道为什么会有段错误,我是在Linux下gcc编译的:#include<string.h>#include<stdio.h>main(){c... 下面是我的程序,很简单,可是不知道为什么会有段错误,我是在Linux下gcc编译的:
#include <string.h>
#include <stdio.h>
main()
{
char *s="Golden Global View";
char *d=" ";
char *p;

p=strtok(s,d);
while(p)
{
printf("%s\n",s);
strtok(NULL,d);
}
return 0;
}
我知道了,原因是应该把 char *s="Golden Global View";改为 char s〔〕="Golden Global View";
展开
 我来答
一页凌风
2009-03-27 · TA获得超过1907个赞
知道小有建树答主
回答量:434
采纳率:25%
帮助的人:390万
展开全部
strtok()这个函数的调用是分次数的。
第一次,是取分隔符前面的字符,内部用null替换。第二次,才是你这种用法,取之后的字符。
你放在循环里,这样破坏了它的次序,一次取前面,n次取后面
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式