作业帮 > 综合 > 作业

C语言 第12题为什么错 13题呢

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/27 23:30:46
C语言 第12题为什么错 13题呢

 


EOF只是个常量,值为-1.考虑以下代码:
  int c = fgetc(fp);
  while (c != EOF) {
    //do something;
    c = fgetc(fp);
  }
如果用在文本文件上,字符不可能小于0,所以没问题.而二进制文件则不同,内容可能会有-1的,所以无法判断.
所以判断文件是否读完用feof才不会出问题 再答: 13题,fgetc需要文件有读取的权限,而w是以只写方式打开的,所以会出错