gpt4 book ai didi

c - 使用 getc 获取奇怪的字符?

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

所以我开始实现霍夫曼树,为此,我尝试从标准输入或输入文件获取字符值。输入文件(只是一个字符串“cheese”)被添加到数组 freqcounts 中,其中添加的 freqcounts 索引是它读取的字符的 ascii 转换。现在,它对字符串执行此操作(e 添加到索引 101 等),但随后存在所有这些随机字符(在数组末尾,我认为它们可能是空字符?)被添加,其中的数字数以万计。谁能向我解释一下这是怎么回事?

    int main(int argc, const char * argv[]) {
int ch; //character to be used for getch
int freqcounts[R];
while(1){
/*Something weird going on in here*/
/*I'm getting the proper characters (supposed to be cheese) but then there are all these random nullesque characters
with absurd counts that is fucking up my linked list*/
ch=getc(stdin);
if (ch == EOF){ //eof
freqcounts[0]=1;
break;
}
else{
freqcounts[ch]++;
}
}
for (int i=0; i< R; i++){
printf("%d", freqcounts[i]);
}
return 0;
}

最佳答案

主要问题是数组:freqcounts[] 未初始化为全 0。

建议按如下方式声明:

int freqcounts[R] = {0};

关于c - 使用 getc 获取奇怪的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34538694/

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