我已经看过其他问题等,我已经看到你不能在strtok中有第一个参数不能被编辑,但我不认为我有这个代码,但仍然获得seg故障? 我使用strtok错了吗?strtok()seg fault
此代码是以csv逗号分隔格式获取stdin,并添加stdin中的数字,然后将它们打印到stdout,p.s.例如,当令牌不是指针时,我使用它。 i+= token;
但我得到随机输出,正如我所料想的那样。
#include <stdio.h>
#include <string.h>
int main(){
char *token, input[256];
int i = 0;
scanf("%s" , input);
token = strtok (input, ",");
while(token != NULL){
token = strtok(NULL, ",");
i += *token;
}
printf("%d\n", i);
return 0;
}
由于拉克兰
Doh!非常抱歉。 – UNECS 2012-04-13 08:22:30
请原谅我的无知,我没有在我的研究中发现它'strtol(token)'将标记更改为'NULL'? – UNECS 2012-04-13 09:01:26
@LachlanMcGivern'strtol'不会改变它的第一个参数。 – cnicutar 2012-04-13 09:05:24