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

admin2019-01-11  34

问题 有以下程序:   
    #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++)
    fprintf(fp,"%d\n",a[5一i]);
    rewind(fp);   
    for(i=0;i<6;i++)
    {fscanf(fp,"%d",&k);
    printf("%d,",k);
    }
    fclose(fp);
    }   
    程序运行后的输出结果是(    )。

选项 A、6,5,4,3,2,1,
B、1,2,3,4,5,6,
C、1,1,1,1,1,1
D、6,6,6,6,6,6,

答案A

解析 fopen("data.dat","w+");w+打开可读写文件。,若文件存在则文件长度清为零,即该文件内容会消失,若文件不存在则建立该文件。rewind(fp);使文件fp的位置指针指向文件开始。fprintf(fp,"%d\n",a[5一i]);将a输出到fp指向的文件中。fscanf(fp,"%d",&k);将fp读入到变量k中,第一个for循环将数组中元素倒着输入刭fp指向的文件中。rewind();则指向文件开始,因此打印的是数组a的倒叙。故打印结果为6,5,4,3,2,1。答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/zpxp777K
0

随机试题
最新回复(0)