首页 > 电脑

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

更新时间2018-10-16 22:02:35

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语言

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

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