2017-03-26 6 views
1

このコードを実行すると、セグメント化エラーが発生しました。strtokはint型を返します

main() 
{ 
    char *line ="2,3,22"; 
    int size=3,i,j; 
    double value; 
    char *val; 

    for (i = 0; i<size ; i++) { 
     if (line == NULL) break; 
     printf("%s\n",strtok (line ,",")); 
    } 
} 

と私はそれがエラーを与えたchar *にstrtok値を割り当てるときに

"warning: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘int’ [-Wformat=] 
printf("%s\n",strtok (line ,","));" 

を与えました。なぜstrtokはint値を返しますか?解決策は何ですか?

答えて

1

strtokの暗黙のプロトタイプを使用しています。 #include <string.h>にする必要があります(NULLにはstddef.hを含める必要があり、またprintfにはstdio.hを含める必要があります)。

関連する問題