ch=getchar()为什么后面还要加getchar;为什么不加在while(1)里边就不循环? 5

这是我拍的几张照片,第三张是正确的,为什么其他两个不对呢,希望大家帮帮忙,谢谢大家了... 这是我拍的几张照片,第三张是正确的,为什么其他两个不对呢,希望大家帮帮忙,谢谢大家了 展开
 我来答
迟匦信14
2022-11-08 · 超过13用户采纳过TA的回答
知道答主
回答量:70
采纳率:70%
帮助的人:1.9万
展开全部

首先,while(){}就是循环关键字,()里是条件判断,

         格式是 while( 语句1 ){ 语句2 } 。当语句1的结果是ture或者是一个数字时,就执行语句2,然后再判断语句1的结果,如此循环。

         while(1)就是一直循环直到语句2运行了break才会跳出循环


getchar()方法读取输入的字符,你控制台输入的字符包括回车也算字符,都在缓冲区里存着,getchar依次从缓冲区读取字符。所以一次运行两个getchar是为了把回车读走,下次读取才是正确的想要的。


第一个图片,读取后没有清空缓冲区,留了一个回车,下次读,ch=回车,所以执行else里面的break跳出循环结束了程序。

第二个图片,先清空缓冲区在赋值才对,错误原因是赋值了回车再清空,顺序不对。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式