C语言怎么才不会输入错误的while一直循环

C语言使用while循环里面输入后,如果进入while条件判断不合理,就一直循环,不会让你再次输入的解决方法。

操作方法

  • 01

    比如while(scanf("%d",&a)){...},如果输入的是字母,他就会一直循环,不会中断,除非关闭;

  • 02

    这个原因是因为错误输入的内容会保留在输入流,下一次判断会从输入流开始读取,因为错误输入的内容还在,所以直接判断错误,继续循环;

  • 03

    可以使用清理输入流fflush(stdin);

  • 04

    但有些编译器并不支持清理输入流。所以我们这时需要用手动输入让其清除。使用getchar();让其接收错误的字符;

  • 05

    但这样就会变成这样,如果输入多个错误就会出现多个次数的循环;直至没有错误输入;这样如果循环内容多,所消耗的资源也就多了。

  • 06

    所以我们可以使用while()来执行里面的消除字符,但如果直接这样while(getchar())就会进入无限循环,所以我们可以让其接收一个终止条件,每次输入完我们都会按回车,那就让其接收'\n'换行符终止自己的循环。

  • 07

    这样就完成了。不会无限循环,也没有多次循环消除的问题了。

(0)

相关推荐

  • win7升级密钥不小心输入错误要怎么办

    win7升级到自己想要的win7版本功能,很多时候我们是为了保持我们原来电脑的设置,但是如果你在升级的时候,不小心把密钥输错了,如果你不懂win7升级的原理,那么你就悲剧了。因为你退出来重新升级的时候 ...

  • Windows7升级密钥输入错误怎么办

    现在很多人都已经纷纷装上了win7系统,我们都知道win7系统有很多的版本,然而不少的人在自己的电脑上都会预装win7家庭普通版以及家庭高级版,所以有些人觉得家庭版已经不能够满足自己的使用需要,所以便 ...

  • 财付通支付密码输入错误次数过多导致账户冻结怎么解冻?

    关于支付密码校验规则,我们会有专门的风险控制系统检测,如发现异常行为(如连续输入错误)会被临时冻结。同时这个规则也因不同时间、地点和操作系统而改变。

  • 怎么设置开机密码多次输入错误密码锁定电脑?

    怎么设置开机密码多次输入错误密码锁定电脑?

  • 浅析windows7系统升级密钥输入错误的解决方法

    很多win7系统用户电脑安装的是家庭普通版windows7系统,一般情况下这对广大用户来说是够用的,不过还是不能满足部分用户的需求。这时候普遍的做法是通过系统自带的Windows Anytime Up ...

  • 笔记本键盘错位输入错误怎么办?

    我们在使用笔记本电脑键盘打字的时候,有时候会发生想打的字母和键盘上的字母不一致的情况,这有可能是硬件键盘电板的原因,但是也有可能是系统中病毒木马引起的.当然如果是硬件问题的话只能拿去修理了.但是如果是 ...

  • win7旗舰版电脑升级时密钥输入错误怎么办

    很多人都觉得,密钥输入错误,咱们重新输入一次不就行了?但是在这个Windows Anytime Upgrade升级中,咱们一旦输入错误,下次进入的时候便不会再出现密钥输入的界面,而是会直接进入到验证, ...

  • word中发现输入错误怎么用替换工具来改正?

    具体操作步骤如下: 第一,打开word文档 第二,打开工具栏中的编辑 第三,找到编辑下面的查找,弹出对话框,输入错误的文字,和正确文字. 第四,点击替换 第五,点击确定即可

  • iPhone计算器输入错误怎么删除?

    操作方法 首先用户打开手机中的[计算器]应用,在打开后,我们输入相应的计算数值,当我们在输入错误的数值后,可通过左右滑动输入框位置即可实现退格删除的操作,如果用户设置的横屏状态的话,那么在横屏状态下还 ...