问题
单项选择题
有以下程序:
#include<stdio.h>
main()
FILE*fp; int k, n, a[6]=1, 2, 3, 4, 5, 6;
fp=fopen("d2. dat", "w");
fprintf(fp, "%d% d% d\n", a[0], a[1], a[2]); fprintf(fp, "% d% d% d\n", a[3], a[4], a[5]);
fclose(fp);
fp=fopen("d2. dat", "r");
fscanf(fp, "% d%d", &k, &n); printf("%d% d\n", k, n);
close(fp);
程序运行后的输出结果是
A) 12
B) 14
C) 1234
D) 123456
答案
参考答案:D
解析: 本题考查的是文件的综合应用。本题首先以创建方式打开文件“d2. dat”,两次调用fprintf()函数把a[0],a[1],a[2],a[3],a[4],a[5]的值写到文件“d2. dat”中,文件“d2.dat”的内容为:1,2,3<回车>4,5,6。然后把该文件关闭再以只读方式打开,文件位置指针指向文件头,再通过fscanf()函数从中读取两个整数到k和n中,由于格式符之间无间隔,因此输入数据可以用回车隔开,故输入的k的值为123,n的值为456。