以下程序试图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#时结束输入和输出操作,但程序有错。 #include<stdio.h> main() { FILE *fout; char ch; fout=f

admin2009-04-15  92

问题 以下程序试图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#时结束输入和输出操作,但程序有错。    #include<stdio.h>    main()    {  FILE *fout;  char ch;    fout=fopen(’abc.txt’,’W’);    ch=fgetc(stdin);    while  (ch!=’#’)    {  fputc  (ch,fout);    ch=fgetc(stdin);    }    fclose  (fout);    }    出错的原因是(  )。

选项 A、函数fopen调用形式错误
B、输入文件没有关闭
C、函数fgetc调用形式错误
D、文件指针stdin没有定义

答案1

解析 stdin是标准输入设备的文件指针,不须定义直接可以使用,它随系统的启动而打开,随系统的关闭而关闭,fgetc()函数的作用是从某个文件中读取一个数据,其参数为要读取文件的文件指针,所以本题中的调用形式是正确的。fopen()函数有两个参数,第一个参数是打开的文件名,第二个参数是文件打开模式,两个参数都是字符串,本例中“fout=fopen(’abc.txt’,’w’);”语句的fopen()函数参数是错误的,应该用双引号"",正确的应改为“fout=fopen("abc.txt","w");”。所以,A选项为所选。
转载请注明原文地址:https://kaotiyun.com/show/5pXp777K
0

最新回复(0)