我用不同的编译器制作了一个程序。我不能在大学里运行它。程序读取一个名为board.txt的文本文件,它计算不同的单词等
这是要下载的项目: https://mega.co.nz/#!CN11xS6Q!w549XDt4T7huRyTjv3J-b3a8vcsbbMrzEGIb2X4RRSM
以下是代码的一部分:
void countwords(FILE *board){
int word=0;
char *a;
printf("\ncounting words...\n");
rewind(board);
while(!feof(board)){
*a=fgetc(board);
if(*a==' ')
word++;
}
printf("%d",word+1);
}
答案 0 :(得分:0)
a
是一个指针,你永远不会初始化它。实际上,它指向内存中的一些随机位置;而你正在写那个记忆位置!只是运气不好,它没有在你自己的电脑上崩溃。
指针变量本身没用;
,你只能一次阅读和处理一个字符,所以一个简单的char
变量就足够了。
void countwords(FILE *board){
int word=0;
char c;
printf("\ncounting words...\n");
rewind(board);
while(!feof(board)){
c=fgetc(board);
if(c==' ')
word++;
}
printf("%d",word+1);
}
在其他功能中进行相同的调整。