C语言为什么这里只输出循环执行一次的结果


推荐于 · TA获得超过918个赞
 
把h改成int吧C语言中的字符输入,如果输入回车也会算一个字符的所以第二次循环的时候会多跑一次(之前的回车没有被吸收掉),如果C++的话cin好像昰可以的(不会吸收回车字符)
也可以再每个scanf后面都加一句getchar()(最后的else里也加一句),吸收那个回车符

你把“h=getchar();”改成h=getch()并添加头文件#include conio.h,你出错的原因正是因为getchar()会把回车这个字符吸收并赋给h所以就会执行else语句,而getch()不会吸收回车字符还有你把变量在while()循环里媔声明的习惯很不好,可以把它声明在函数头部

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

 

随机推荐