以下程序用来统计文件中字符的个数(函数feof用以检查文件是否结束,结束时返回非零), 调试程序,并提交代码和运行结果 #include<stdio h> main() FILE *fp: long num=0; fp=fopen(" fname.dat","r"); while(feof(fp)==NULL){ fgetc(fp); num++:} printf(" num= %d\n",mum); fclose( fp);
时间: 2024-01-04 22:04:03 浏览: 153
统计文件中字符的个数
4星 · 用户满意度95%
以下是修正后的代码:
```c
#include <stdio.h>
int main() {
FILE *fp;
long num = 0;
fp = fopen("fname.dat", "r");
if (fp == NULL) {
printf("Failed to open file!");
return 1;
}
while (feof(fp) == 0) {
fgetc(fp);
num++;
}
printf("num = %ld\n", num - 1); // 减去最后一个EOF字符的计数
fclose(fp);
return 0;
}
```
修正说明:
1. `#include<stdio h>`应该改为`#include <stdio.h>`,这是标准的头文件格式;
2. `main()`应该改为`int main()`,这是标准的函数声明格式;
3. `long num=0;`应该初始化为0;
4. 打开文件时应该检查是否成功打开,若失败应该及时处理并返回错误信息;
5. `while(feof(fp)==NULL)`的判断条件应该改为`while (feof(fp) == 0)`;
6. 在计算完所有字符个数后,应该减去最后一个EOF字符的计数;
7. 最后应该返回0表示程序执行成功。
阅读全文