私は C が初めてで、プログラムの実行時に引数として与えられた文の単語をカウントするプログラムを作成しようとしています。' '
単語は、 、'\n'
、','
またはのいずれかで区切られた 1 文字または複数の文字'.'
です。例: ./words abc abc
=2 words
しかし、私は取得し続けます: " segementation fault(core dumped)
"。以下はコードです:
int main(char **argv)
{
char buf[80];
sprintf(buf,"%d words\n",words(argv));
write(1,buf,strlen(buf));
return 0;
}
int words(char **argv)
{
int i=0, sum=0;
while(argv[i] != '\0')
{
if(argv[i] == '.' || argv[i] == ',' || argv[i] == ' ' || argv[i] == '\n')
sum++;
i++;
}
}