所以我刚刚开始学习编程,并正在开发一个简单的程序,该程序扫描并存储用户输入值,只要它是有效的浮点值。如果输入无效,则程序立即退出并返回1。最后,如果所有输入都有效,则程序将输出存储的值。我正在考虑像
这样的结构while (scanf("%f",input)==1){
//code that store the value of input;
value=input
}
else{
printf("invalid");
return 1
}
printf("%f",value);
但问题是不存在 While-else 结构,我真的很难解决这个问题。我可以对输入进行任何其他调节来生成所需的结果吗?
顺便说一句,我认为简单地删除 else 并不能真正起作用——因为要输出值,我必须使用 Ctrl d 手动退出 while 循环。然后因为我退出了 while 循环,无论如何我都会打印 invalid 。是否存在只打印值的结构?谢谢。
最佳答案
while
循环将继续永远运行,直到达到退出条件,这意味着不需要 else
,因为它下面的代码不会执行待执行。
解决此问题的一个简单方法就是删除 else
,因为不需要:)
关于只要输入有效就继续运行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60200498/