| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1002 人关注过本帖
标题:代码里加了fflush(stdin)就出错,不明白他的用法,求大神指点
只看楼主 加入收藏
zggdsgs
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2015-4-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
代码里加了fflush(stdin)就出错,不明白他的用法,求大神指点
加了fflush(stdin);后原本输入的顶点数对后面的输入的顶点数没影响,例如输入顶点数6,但是要输入12个顶点才能继续下去,求解为神马?下一楼有图
#define MAXVEX 12
typedef struct graph{  
    VertexType vexs[MAXVEX]; //图的顶点  
    EdgeType arcs[MAXVEX][MAXVEX]; //图的边表  
    int vexnum,arcnum; //图的顶点数与边数  
}Graph;  
void CreateGraph(Graph *G) //创建图
{
    int i,j,k,w;
    printf("请输入图的顶点数和边数:\n");
    scanf("%d%d",&G->vexnum,&G->arcnum);
    printf("请输入图的顶点信息:\n");
    for(j = 0;j < G->vexnum;j++)
    {
        fflush(stdin); //清空输入缓冲区,为了确保不影响后面的数据读取
        scanf("%c\n",&G->vexs[j]); //输入顶点的信息
    }

[ 本帖最后由 zggdsgs 于 2015-6-1 22:04 编辑 ]
搜索更多相关主题的帖子: 影响 神马 
2015-06-01 22:02
zggdsgs
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2015-4-6
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-06-01 22:03
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:20 
fflush()就是把你的连续输入废除

授人以渔,不授人以鱼。
2015-06-01 22:04
zggdsgs
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2015-4-6
收藏
得分:0 
回复 2楼 zggdsgs
如果把\n去掉呢,还是废掉连续输入么
scanf("%c\n",&G->vexs[j]); //输入顶点的信息
2015-06-01 22:50
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
scanf后面加  \n   这都是哪个师傅教的啊

DO IT YOURSELF !
2015-06-02 08:07
快速回复:代码里加了fflush(stdin)就出错,不明白他的用法,求大神指点
数据加载中...
 
   



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

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