ch=getchar()为什么后面还要加getchar;为什么不加在while(1)里边就不循环? 5
展开全部
首先,while(){}就是循环关键字,()里是条件判断,
格式是 while( 语句1 ){ 语句2 } 。当语句1的结果是ture或者是一个数字时,就执行语句2,然后再判断语句1的结果,如此循环。
while(1)就是一直循环,直到语句2运行了break才会跳出循环。
getchar()方法读取输入的字符,你控制台输入的字符包括回车也算字符,都在缓冲区里存着,getchar依次从缓冲区读取字符。所以一次运行两个getchar是为了把回车读走,下次读取才是正确的想要的。
第一个图片,读取后没有清空缓冲区,留了一个回车,下次读,ch=回车,所以执行else里面的break跳出循环结束了程序。
第二个图片,先清空缓冲区在赋值才对,错误原因是赋值了回车再清空,顺序不对。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询