只要输入有效就继续运行程序

标签 c loops while-loop

所以我刚刚开始学习编程,并正在开发一个简单的程序,该程序扫描并存储用户输入值,只要它是有效的浮点值。如果输入无效,则程序立即退出并返回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/

相关文章:

c - 关闭后如何重新绑定(bind)本地套接字?

C 编程 - Scanf 在 ubuntu 中不起作用

java - 需要创建一个java程序,使用循环来检查密码是否正确。程序运行但输出不正确

python - 可以使这段代码更 Pythonic 吗?循环

c - 是否可以使用 libxml2 C API 从 schematron 断言中获取 <value-of select ='' xpath here''> 值?

C - 使用 extern 访问全局变量。案例分析

php - 如果代码中有任何错误,如何将值插入到数据库表中?

python - 如何处理许多几乎相同的 if 语句?

c - C 语言中带有 switch case 的 while 循环不起作用

python - While 循环监视文件夹并在条件为真时运行脚本