试题题干
键入一串字符(换行作为结束标志),统计字符的个数,将该串字符及字符个数显示到屏幕上并写入文件str. dat中。
#include <stdio. h>
main ( )
{
char ch; int sumch=0;
FILE *fp;
fp=fopen (″str. dat″, ″w″);
while ((ch=getchar ( ))!= ________) /* 第一空 */
{
sumch ++;
putchar (ch);
fputc (________, fp); /* 第二空 */
}
printf (″sumch=%d\n″, sumch);
fprintf (________, ″sumch=%d\n″, sumch); /* 第三空 */
fclose (fp);
}
参考答案
试题解析
因为是以换行作为结束标志,即在while中的表达式为(ch=getchar ( ))!='\n',即第一空填入'\n';
写字符函数fputc()的功能是将ch中的字符写到fp所指向的文本文件中,即第二空应填入ch;
格式化写函数fprintf()是将sumch的数据写入fp所指向的文件,即第三空填入fp。