gpt4 book ai didi

从 C 中的参数中计算单词

转载 作者:太空宇宙 更新时间:2023-11-04 01:33:26 24 4
gpt4 key购买 nike

我是 C 的新手,我尝试编写一个程序来计算在运行程序时作为参数给出的句子中的单词。单词是一个或多个字符,由以下任一字符分隔:' ''\n''、''。 。示例:./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++;
}

}

最佳答案

Argv 是一个**char 或指向字符串数组的指针。您的代码将其视为单个字符串,因此循环遍历指向字符串的指针并对它们进行计数。由于这些指针都不为空,程序会继续执行到数组末尾,从而导致段错误。

关于从 C 中的参数中计算单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19070473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com