以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。
#include<stdio.h>
main()
FILE*fout;char ch;
four=fopen(’abc.txt’,’w’);
ch=fgetc(stdin);
while(ch!=’#’)
fputc(ch,fout);
ch=fgetc(stdin);
felose(fout);
出错的原因是
A.函数fopen调用形式错误
B.输入文件没有关闭
C.函数fsetc调用形式错误
D.文件指针stdin没有定义
参考答案:A
解析:stdin是标准输入设备的文件指针,不需定义直接可以使用,它随系统的启动而打开,随系统的关闭而关闭,fgetc()函数的作用是从某个文件中读取一个数据,其参数为要读取文件的文件指针。fopen()函数有两个参数,第一个参数是打开的文件名,第二个参数是文件打开模式,两个参数都是字符串,本例中“four=fopen(’abc.txt’,’ w’);”语句的fopen()函数参数是错误的,应该用双引号“w”,正确的应改为fout=fopen(“ abc.tx”,“w”);。