请教一个y/n函数问题,为什么执行之后,输入y的后跳出了窗口,下面是我的程序

[复制链接]
查看11 | 回复1 | 2013-5-19 13:50:17 | 显示全部楼层 |阅读模式
你上面有一句scanf("%d %d %d",&a,&b,&c);你输入三个值,按回车,此时把一行字符连同换行符一起送入缓冲区,缓冲区检测到有换行符,就把一行字符转换为数字送入系统内存,而换行符'\n'还留在缓冲区里,换行符(line feed)ASCII码是10,你没清除缓冲区,又再用一个scanf输入ch,ch就会先检查缓冲区,发现里头有个换行符,就把换行符对应的ASCII码赋给了ch解决这个问题的常见办法有以下三种:1:scanf("%c",&ch);前面加flushall();或fflush(stdin);2:scanf("%c",&ch);改为scanf(" %c",&ch);%c前面加一个空格3:scanf("%...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行