while(ret!=1)/*若存在输入错误,则重新输入?什么意思,c语言程序与设计,猜大小 - 爱问答

(爱问答)

while(ret!=1)/*若存在输入错误,则重新输入?什么意思,c语言程序与设计,猜大小

c语言程序与设计,猜大小例题。

13 行红线部分,ret是输入的猜的那个数。

while (ret != 1)这个为啥是能检测出输入的是非数字?我搞不懂这个。

这句话的意思难道不是,当ret的值不等于1的时候进入循环体,直至下一次判断rat=1推出循环;

ret != 1表示判断变量ret是否等于1。如果相等,则结果为0,否则结果为1。这能判断出 rat 是不是非数字?

我怎么感觉这个是判断 rat 和1 是不是相等,再进行循环。

如果我输入像rat=30这样不等于的数字,那结果不就是 rat!=1么?   30!=1 啊?但是截图结果又是可以的

我输入 rat = a,因为 a!=1 我可以理解。可为啥这个是用while (ret != 1)判断?这不是判断是否为1么?

我都整糊涂了。上图程序。这是一个猜大小的程序,谢谢大佬。划红线地方不懂while (ret != 1)/*若存在输入错误,则重新输入?什么意思,c语言程序与设计,猜大小

上面是流程图

while (ret != 1)/*若存在输入错误,则重新输入?什么意思,c语言程序与设计,猜大小

上面是6.9问题
while (ret != 1)/*若存在输入错误,则重新输入?什么意思,c语言程序与设计,猜大小

上面是程序。
while (ret != 1)/*若存在输入错误,则重新输入?什么意思,c语言程序与设计,猜大小

结果

注意看程序ret是scanf的返回值,而不是你在程序运行过程中,从控制台输入的数据。你输入的数据是存放在guess变量中的。而ret是scanf的返回值,代表的是实际读取的变量个数,因为你的程序这行,scanf("%d", &guess) 只定义读取了一个变量,因此,如果ret==1,则表明用户从控制台正确输入了1个数据给guess,而如果不是1,说明用户没输入(输入超过1个数据可能多余的不会读取,最多只读1个),没有输入则进入循环重新在提示用户输入。

相关标签:c语言

下一篇:电脑啥配置好?一万块

上一篇:画简单组合体的三种视图需要注意的问题

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?