首页 > 用户发贴区 > 编程问题提问区 > 对教材中的一个程序的讨论
2006
11-09

对教材中的一个程序的讨论

先看湖南自学考试“计算机及应用”专业《高级语言程序设计》教材中的一段程序,
这是从键盘输入10个字符,写到文本文件的程序,这里仅把打开文件的盘符和目录做了修改,
其中myturboc是D盘中已经建立的目录,char2.txt是并不存在的文件。
#include<stdio.h>
main()
{
 FILE *fp;
 int i;
 char c;
 if((fp=fopen(“d:\\myturboc\\char2.txt”,”w”))==NULL)
     {
      printf(“file can not open!\n”);
      exit(0);
      }
 for(i=0;i<10;i++)
    {
      c=getchar();
      fputc(c,fp);
     }
  fclose(fp);
}
问题:我认为printf(“file can not open!\n”)以及exit(0)都是多余的语句,
因为只要文件打开方式是”w”无论要打开的文件是否存在都不会执行这两条语句。
大家的意见如何,请大家各抒己见。


对教材中的一个程序的讨论》有 1 条评论

  1. cboy 说:

    如果你试着建立一个char2.txt,并把它的属性设置成只读,,你看看这段你所谓的多余的语句,它会不会执行,在编程中,任何的一种异常都是必须考虑到的..

    W是只写,如果文件不存在.它就建立,如果文件存在,并且文件属性不是只读的状态,那么它就不会发生无法打开文件的错误了..

留下一个回复