8.3 程序分析题
2.假定在当前盘当前目录下有2个文本文件,其名称和内容如下:
文件名 al.txt a2.txt
内容 121314 # 252627#
写出运行下列程序后的输出。
# include
# include
void fc( FILE *);
main()
{ FILE *fp;
if( fP= fopen("al.txt", "r"))== NULL)
{ printf("Can not open file! \n");
exit(l);
}
else{ fc(fp); fclose(fp); }
if(( fp = fopen("a2.txt","r"))==NULL)
{ printf("Can not open file! \n");
exit(1);
}
else { fc(fp); fclose(fp); }
}
void fc(fp1)
FILE *fpl;
{ char c;
while((c=fgetc(fpl))!=’#’) putchar(c);
}
【解】程序以读方式打开文件a1.txt,若能正常打开,则调用函数fc。接着同样地,以读方式打开文件a2.txt,若能正常打开,也调用函数fc。函数企从指定的文件读入字符,在读入字符不是字符’#’情况下循环,将读人字符输出。对于文件a1.txt,程序输出121314,对于文件a2.txt,程序输出252627。所以程序输出121314252627。
责任编辑:小草