该程序第一次输入非数字可以正常退出,但是第一次输入数字进入循
c语言吧
全部回复
仅看楼主
level 6
该程序第一次输入非数字可以正常退出,但是第一次输入数字进入循环再输入非数字会无限循环while里的第一条printf语句。请问为什么会这样,还有怎么解决?
2021年04月13日 08点04分 1
level 10
代码或者生辰八字选一个发过来,看一看或者算一算
2021年04月13日 09点04分 2
[狂汗][狂汗]记得带上图了的。。。可能网不好没发出来
2021年04月13日 09点04分
3l
2021年04月13日 09点04分
level 6
2021年04月13日 09点04分 3
level 12
为什么要输入“非数字”?
2021年04月13日 10点04分 4
level 10
第一次能退出是因为外面的scanf没成功拿到数字,while条件不成立,进入了之后因为输入了非数字,但你的scanf实际上无法输入非数字到变量里,所以变量没有更新,while恒成立,每次while循环时都试图获取缓冲区里的内容,但永远无法获取成功,所以就无限循环了
2021年04月13日 10点04分 5
level 10
你这变量没有初始化也是一个毛病
2021年04月13日 10点04分 6
level 10
如果要做到你说的,我的建议是把scanf丢到while的判断里,利用scanf的返回值确定要不要循环,同时while里面再加一个while,用来取走缓冲区的所有内容
2021年04月13日 10点04分 7
里面的while可有可无
2021年04月13日 11点04分
好的,感谢
2021年04月14日 04点04分
1