若有以下程序 #include main() { FILE *fp; int i, a[6]={1,2,3,4,5,6},k; fp = fopen("data.dat", "w+"); for (i=0; i

admin2020-11-23  36

问题 若有以下程序
#include
main()
{ FILE *fp;
int i, a[6]={1,2,3,4,5,6},k;
fp = fopen("data.dat", "w+");
for (i=0; i<6; i++)
{ fseek(fp, 0L, 0); fprintf(fp, "%d\n", a); }
rewind(fp);
fscanf(fp, "%d", &k);
fclose(fp);
printf("%d\n", k);
}
则程序的输出结果是( )。

选项 A、6
B、1
C、123456
D、21

答案A

解析 句" fseek(fp, 0L, 0);"将文件指针fp指向文件首,然后再往当前地址内写入数据,由于每次循环都将文件指针置于文件首后再写,之前写入的数据会被新写入的数据覆盖,所以循环执行完毕之后,文件中最终写入的数据为6,输出结果为选项A)。
转载请注明原文地址:https://jikaoti.com/ti/y3D0FFFM
0

最新回复(0)