为了账号安全,请及时绑定邮箱和手机立即绑定

初学者求教,遇到问题了

初学者求教,遇到问题了

C
祝福9999 2017-04-19 15:31:15
getchar();printf("第%d个顶点:",i+1);scanf("%c",&(GM->Vertex[i])); 这是个输入图顶点信息的语句,问题是为什么有了scanf还要有getchar,要一个不就行吗,求解答
查看完整描述

1 回答

已采纳
?
望远

TA贡献1017条经验 获得超1032个赞


你前面也有输入数据是么?

getchar();//这里是为了吸收掉前一个输入末尾的回车字符
printf("第%d个顶点:",i+1);
scanf("%c",&(GM->Vertex[i])); //防止被这个输入字符接收到,以便正常输入。


查看完整回答
反对 回复 2017-04-19
  • 祝福9999
    祝福9999
    前一句是循环语句,那这是为了输入之间有缓冲吗,是不是要打两个回车
  • 望远
    望远
    不是的,scanf("%d",&n);如果输入1回车其实n==1,还有一个回车遗留,你需要在后面的代码里处理掉这个回车字符,否则会影响后面的字符数据,你可以尝试接收一下n=getchar();这个n的值就是回车的ascii码
  • 1 回答
  • 0 关注
  • 1338 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信