单选题
下列程序的输出结果是{{U}} {{/U}}。
#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视为一个数。