| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 551 人关注过本帖
标题:求解C一道题!!
只看楼主 加入收藏
zdx877
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-1-27
结帖率:33.33%
收藏
已结贴  问题点数:20 回复次数:6 
求解C一道题!!
#include<stdio.h>
main()
{
    FILE *fp;int k,n,i,a[6]={1,2,3,4,5,6};

    fp=fopen("d2.dat","w");

    for(i=0;i<6;i++)

        fprintf(fp,"%d\n",a[i]);

    fclose(fp);

    fp=fopen("d2.dat","r");

    for(i=0;i<3;i++)//为什么这句加上了输出就是56,不加的就是12,求解~~

        fscanf(fp,"%d%d",&k,&n);

    printf("%d%d\n",k,n);
fclose(fp);
}
2013-02-20 22:59
shelltonWU
Rank: 2
等 级:论坛游民
帖 子:16
专家分:66
注 册:2013-2-15
收藏
得分:5 
应该是你没有写;号的原因吧。fscanf进入循环。最后一次是5-6,,,

一切为了明天。
2013-02-21 07:44
a151141
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:197
专家分:680
注 册:2012-10-19
收藏
得分:5 
第一次读出1和2;
第二次读出3和4;
第三次读出5和6;
没那一句只读一次,所以是1和2;
加上那一句读了三次,所以是5和6.

世界上幸福的事就是抓到一只羊,更幸福的事就是抓到两只羊……
2013-02-21 12:33
zdx877
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-1-27
收藏
得分:0 
回复 3楼 a151141
为什么i=0的时候输出1,2
i=1输出3,4
i=2输出5,6
当i=3时候就退出循环了

for(i=0;i<3;i++)

        fscanf(fp,"%d%d",&k,&n);

    printf("%d%d\n",k,n);
2013-02-21 23:30
shelltonWU
Rank: 2
等 级:论坛游民
帖 子:16
专家分:66
注 册:2013-2-15
收藏
得分:0 
呃,不相信我撒。。。
你把123456挨个写入流里,当然就是挨个读出来啦。。。楼主需要看看文件方面的知识啊。。(*¯︶¯*)。。。

一切为了明天。
2013-02-22 08:00
赤血之魂
Rank: 2
等 级:论坛游民
帖 子:109
专家分:86
注 册:2012-3-22
收藏
得分:5 
文件啊!

让平淡诉说非凡!
2013-02-22 08:11
tompobing
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:260
专家分:809
注 册:2012-12-9
收藏
得分:5 
for(i=0;i<3;i++)加上这句循环三次,每次 fscanf(fp,"%d%d",&k,&n)是两个数,最后k和n的值就是5和6,没有循环的话这个fscanf(fp,"%d%d",&k,&n)只执行一次,所以k和n是1和2
2013-02-23 21:10
快速回复:求解C一道题!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025887 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved