#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int ascii[255]; //starts as empty table, will hold all the character occurences
memset(ascii, 0, sizeof(ascii)); // sets all table values to 0
int c=0;
int i=0;
while (getchar() !=EOF){
c=getchar();
ascii[c]=(ascii[c]+1);
}
for (i=0;i<255;i++){
printf("%d;",ascii[i]);
}
return 0;
}
您好,我已经创建了上面的代码来检查.txt文件中每个字符出现的次数,但是我得到了非常不稳定的行为,我得到的数字根本不会反映文件的内容。你能告诉我我的错误在哪里吗?
答案 0 :(得分:2)
您有两个getchar()
来电,因此每次通话中都缺少一个字符,请更改此
while (getchar() != EOF)
到
while ((c = getchar()) != EOF)
并删除下一行
c = getchar();