我已經看過其他問題等,我已經看到你不能在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