#include <stdio.h>
void test(char *Vertex)
{
int i;
printf("输入各顶点信息\n");
for(i=0;i<5;i++) //输入顶点
{
getchar();
printf("第%d个顶点:",i+1);
scanf("%c",&Vertex[i]);
}
}
int main()
{
char Vertex[5];
int GraphType,VertexNum,EdgeNum;
printf("输入生成图的类型(0:无向图,1:有向图):");
scanf("%d",&GraphType); //输入图的种类
printf("输入图的顶点数量和边数量:");
scanf("%d,%d",&VertexNum,&EdgeNum); //输入图的顶点数量和边数量
test(Vertex);
return 0;
}
我输入了2次数据,产生了两个回车,进入第一次循环后getchar()接收一个回车,scanf为什么没有接收另一个回车,而是等待我输入第一个顶点?
当我把getchar()删除后,进入第一次循环后scanf应该是读取了一个回车,那么第二次循环为什么scanf没有接收另一个回车,而是等待我输入第二个顶点?