gpt4 book ai didi

c - 字计数器 'forgetting' 关于已保存的字

转载 作者:行者123 更新时间:2023-11-30 20:41:39 26 4
gpt4 key购买 nike

下面的代码片段来 self 的程序,该程序获取单词,然后打印它们以及出现的次数。

它工作得几乎很好,除了它“忘记”之前已经保存过的特定条目并且不增加与其关联的计数器。

typedef struct {
char *word;
int occ;
}
words;
words *data=NULL;

int main(int argc, char **argv)
{
char *word;
words *temp;
int c,i,num;
words *ptr = NULL;

num=0;

while(1)
{
c=fgetc(infile);
if(c==EOF) break;
if(!isalpha(c)) continue;
else ungetc(c,infile);
word=getword(infile);

if(findword(word))
{

if(!(temp=realloc(data,sizeof(words)*(num+1))))
{ /* error handling */ }
else
data=temp;



}
else
free(word);
}

/* sort procedure here, irrelevant for the purpose of topic */
for(i=0;i<num;i++)
{
/*printf*/
}

return 0;

}

该代码有什么问题?

提前致谢!

最佳答案

根本问题是你的“findword”函数实际上并不是在查找单词;而是在查找单词。它只是查看列表中的一项。它需要循环。

关于c - 字计数器 'forgetting' 关于已保存的字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12484195/

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