代码里加了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 编辑 ]