有以下程序#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 0C)1 23 D)0 0答案是选B.可是这种题目要怎么做啊.我一点头绪都没有.
參考答案:这是在写入文件时没有加空格,你看写如的循环是写1.2.3,没有空格控制输入域。结果打开再读的话就读成了123,第2个数在文件里没有,结果就是0了
比如fprintf(fp,"%d%d",12,56); 然后fscanf(fp,"%d",&k);k就是1256了