青松依旧在 2022-03-02 17:37 采纳率: 75%
浏览 27
已结题

为什么返回1和4? 文件里的数不是123 45吗?

#include <stdio.h>
main()
{ FILE *fp; int i,k,n;
fp=fopen("data.dat","w+");
for(i=1;i<6;i++)
{fprintf(fp,"%d ",i);
if(i%3==0) fprintf(fp,"\n");
}
rewind(fp);
fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n);
fclose(fp);
}

文件里的数不是123 45吗?

  • 写回答

3条回答 默认 最新

  • CSDN专家-link 2022-03-02 17:45
    关注

    你写入的时候,每个i值之间是带空格的啊,fscanf的时候是根据空格拆分的
    那你的代码测试了一下,输出是1和2
    fscanf读入的是第一行前两个整数,空格分隔的

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月10日
  • 已采纳回答 3月2日
  • 创建了问题 3月2日

悬赏问题

  • ¥20 python忆阻器数字识别
  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真