是否建议/在C编程中使用无限循环

用户名

这是一个例子。对于小型程序,它很好用,但是如果我们正在开发实时项目或应用程序,该怎么办。需要一些建议

while (TRUE )
{
    int temp =0 ;
    printf ( "How many no's would you like to enter : " ) ;
    temp = scanf ( "%d" , &n )  ;
    if ( temp==1 )
        break ;
    else
    {
        printf ("Invalid input. Try again. \n" ) ;
        fflush ( stdin ) ;
    }
}
chux-恢复莫妮卡

无论是while(TRUE)还是while(condition)任何循环的问题都是它们倾向于潜行无限循环条件-像这样。

OP的代码取决于scanf("%d",...,:1和的2个结果not 1

如果用户输入"123",一切都很好。scanf()返回1,循环退出,我们都离开了工作并喝了一品脱。

如果用户输入的"abc"scanf()回报0,代码做了fflush(stdin)清空stdin(这实际上是UB,但让我们假装它可以工作。)代码循环,再次提示,我们的饮料变热,但希望我们最终会输入数字。

但是让我们想象用户关闭了stdin-也许代码已经重定向了输入并scanf()最终返回EOF代码会循环,但fflush(stdin)不会重新打开stdin,然后scanf()再次返回EOF-一次又一次-真正的无限循环-代码不会暂停输入,而只会说““无效的输入。再试一次。”翻译成“傻瓜,傻瓜,傻瓜……”。看起来工作人员会在没有我们的情况下开始酿造啤酒。

故事的寓意:代码按预期工作时循环播放(用户输入了良好的数据)。当功能在意外情况下循环时,请注意循环。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在C中使用scanf停止无限while循环?

来自分类Dev

Bash编程无限循环

来自分类Dev

在C编程中的For循环中使用功能

来自分类Dev

有关重构Scala的建议-是否可以消除在foreach循环中使用的var

来自分类Dev

在Word中使用.Find导致无限循环

来自分类Dev

在React中使用钩子时的无限循环

来自分类Dev

在for和while循环中使用计数的C ++哨兵。陷入无限循环

来自分类Dev

是否建议在 Swing 中使用空布局?

来自分类Dev

C编程Listnode插入节点导致无限循环

来自分类Dev

C语言编程。如果我在循环中使用fgets(line,MAXLINE,stdin)函数,是否应该在每次新迭代之前将行归零?

来自分类Dev

Excel VBA:寻找避免无限循环的建议

来自分类Dev

Excel VBA:寻找避免无限循环的建议

来自分类Dev

DirectShow使用C ++无限循环视频

来自分类Dev

使用std :: ofstream C ++的无限while循环

来自分类Dev

DirectShow使用C ++无限循环视频

来自分类Dev

在C#环境中使用Javascript的建议

来自分类Dev

如何在Android中使用无限循环播放铃声?

来自分类Dev

在无限循环中使用Heapoverflow而不是Stackoverflow

来自分类Dev

在AtomicInteger.addAndGet(int)中使用无限循环

来自分类Dev

在Swift中使用UIScrollView进行无限循环滚动

来自分类Dev

如何在无限循环中使用线程锁?

来自分类Dev

在React中使用useState和useEffect的无限循环

来自分类Dev

如何在无限循环中使用更少的堆空间?

来自分类Dev

在 Hooks 中使用 React 时 useEffect 进入无限循环

来自分类Dev

如何在for循环中使用scanf作为C编程语言中的条件

来自分类Dev

是否可以使用switch语句无限循环?

来自分类Dev

是否建议在实时生产应用程序中使用Redis?

来自分类Dev

是否建议在RavenDB中使用“大量”聚合函数?

来自分类Dev

是否建议在python函数中使用print语句而不是返回

Related 相关文章

  1. 1

    在C中使用scanf停止无限while循环?

  2. 2

    Bash编程无限循环

  3. 3

    在C编程中的For循环中使用功能

  4. 4

    有关重构Scala的建议-是否可以消除在foreach循环中使用的var

  5. 5

    在Word中使用.Find导致无限循环

  6. 6

    在React中使用钩子时的无限循环

  7. 7

    在for和while循环中使用计数的C ++哨兵。陷入无限循环

  8. 8

    是否建议在 Swing 中使用空布局?

  9. 9

    C编程Listnode插入节点导致无限循环

  10. 10

    C语言编程。如果我在循环中使用fgets(line,MAXLINE,stdin)函数,是否应该在每次新迭代之前将行归零?

  11. 11

    Excel VBA:寻找避免无限循环的建议

  12. 12

    Excel VBA:寻找避免无限循环的建议

  13. 13

    DirectShow使用C ++无限循环视频

  14. 14

    使用std :: ofstream C ++的无限while循环

  15. 15

    DirectShow使用C ++无限循环视频

  16. 16

    在C#环境中使用Javascript的建议

  17. 17

    如何在Android中使用无限循环播放铃声?

  18. 18

    在无限循环中使用Heapoverflow而不是Stackoverflow

  19. 19

    在AtomicInteger.addAndGet(int)中使用无限循环

  20. 20

    在Swift中使用UIScrollView进行无限循环滚动

  21. 21

    如何在无限循环中使用线程锁?

  22. 22

    在React中使用useState和useEffect的无限循环

  23. 23

    如何在无限循环中使用更少的堆空间?

  24. 24

    在 Hooks 中使用 React 时 useEffect 进入无限循环

  25. 25

    如何在for循环中使用scanf作为C编程语言中的条件

  26. 26

    是否可以使用switch语句无限循环?

  27. 27

    是否建议在实时生产应用程序中使用Redis?

  28. 28

    是否建议在RavenDB中使用“大量”聚合函数?

  29. 29

    是否建议在python函数中使用print语句而不是返回

热门标签

归档