gpt4 book ai didi

c - C语言的字数统计程序

转载 作者:行者123 更新时间:2023-11-30 21:30:51 27 4
gpt4 key购买 nike

所以我正在尝试编写一个程序来计算文本文件中的单词数。

main(void){
int wordcount = 0;
FILE *infile = fopen("Text.txt", "r");
wordcount += word_count(infile);
printf("%d", wordcount);
return 0;

}

int word_count()
{
int wordcount(FILE *infile);
int count;
char it;
while ((it = fgets(infile)!=EOF))
{
if (it =='\n')
{
count++
}
}
return count;
}

但是当我运行它时,我收到了这些错误:

infile undeclared identifier
fgets too few aruguments for function call

我做错了什么?

最佳答案

首先,片段:

int word_count()
{
int wordcount(FILE *infile);

应该是:

int word_count(FILE *infile) {

其次,fgets() 采用三个参数:缓冲区地址、最大大小和文件句柄。

第三,如果fgets()得到一些东西,它会返回一个指向缓冲区的指针,而不是一个字符。如果您想处理字符,您应该考虑使用 fgetc

第四,检测 \n 字符是计算但单词数的好方法。而且您可能希望将没有换行符的最后一行检测为另一行(取决于您的需要)。

如果您想计算单词数,则需要检测单词和非单词之间的转换。

第五,您应该将字数统计功能移至 main 上方,或者在 main 上方提供其原型(prototype)。就像现在一样,它没有被声明,所以你没有类型安全。

最后,应声明 main() 返回 int

关于c - C语言的字数统计程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23420488/

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