代码非常简单。我不明白为什么当我尝试打印pointok2
时我的程序崩溃了。也许我没有看到问题,因为我很累或什么的。一点帮助将不胜感激。
Tokmain
将始终采用“单词单词”格式。
scanf("%s",&tokmain);
for(i=0;i<50;i++) {
if (tokmain[i]=='\n') {
tokmain[i]='\0';
lettercount=i;
break;
}
}
pointok1=strtok(tokmain,delim);
pointok2=strtok(NULL,delim);
puts(pointok1);
puts(pointok2);`
答案 0 :(得分:1)
scanf()
在空格处截断。因此,当您输入“单词单词”时,tokmain
将只有“单词”。
尝试
scanf("%49[^\n]s",&tokmain); /*Notice the format string*/
for(i=0;i<50;i++) {
if (tokmain[i]=='\n') {
tokmain[i]='\0';
lettercount=i;
break;
}
}
pointok1=strtok(tokmain,delim);
pointok2=strtok(NULL,delim);
puts(pointok1);
puts(pointok2);`