有以下程序: #include<stdio.h> main() { FILE *fp; int i,k=0,n=0; fp=fopen("d1.dat","w"); for(i=1;i<4;i++) fprintf(

admin2009-04-15  14

问题 有以下程序:    #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);    }    执行后输出结果是(  )。

选项 A、1 2
B、123 0
C、1 23
D、0 0

答案2

解析 本题中首先定义了一个文件指针fp,然后通过函数fopen以w的方式打开文件d1.dat,直接通过一个for循环,每循环一次调用函数fprintf将i的值写进fp所指的文件中,该循环共循环3次,循环完后fp所指文件的内容为123,然后通过fclose函数关闭fp所指文件。接着通过fscanf函数将中所指文件的内容读出并赋值给变量k和变量n,由于fp所指文件中只有123没有分隔符,故只给k赋值为123,变量n的值依然为以前的值,故最后输出k和n的值为123、0,所以,4个选项中选项B符合题意。
转载请注明原文地址:https://jikaoti.com/ti/P0K0FFFM
0

最新回复(0)