广西冷链物流需求量:讨教一个C语言问题

来源:百度文库 编辑:高校问答 时间:2024/05/03 05:41:27
有以下程序
#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

答案是选B.可是这种题目要怎么做啊.我一点头绪都没有.

这是在写入文件时没有加空格,你看写如的循环是写1.2.3,没有空格控制输入域。结果打开再读的话就读成了123,第2个数在文件里没有,结果就是0了
比如fprintf(fp,"%d%d",12,56); 然后fscanf(fp,"%d",&k);k就是1256了