选择题
下列程序的输出结果是
。
#include <stdio.h>
main()
{ FILE *fp; int i, k=0, n=0;
fp=fopen( 'd1.dat', 'w');
for(i=1; i<4; i++) fprintf(fp, '% d', i);
fclose(fp);
fp=fopen('d1.dat', 'r');
fscanf(fp, '% d% d', &k, &n);
printf('% d% d\n', k, n);
fclose(fp);
}
【正确答案】
B
【答案解析】fscanf从磁盘上读取ASCII字符,给k和n赋值。在进行fp=fopen('dl.dat', 'w')操作时,向文件写字符,由fprintf()将1,2,3写入磁盘,再由磁盘符123传给k,且将0传给n。在文件写操作时,两个数之间应用空格隔开,而在本题中,没有用空格隔开,所以123视为一个数。