while死循环问题-输入字符就会死循环

问题:

是否会遇到这样的问题,在while循环中 sanf("%d",&a);如果输入的不是数字,是字符就会进入死循环。

解决方案:
都是缓冲区惹的祸,输入字符后,字符会一直留在缓冲区,一直读取的是那个字符,所有会一直循环下去。
---------------------------------------------------

fflush(stdin); //清除缓冲,避免重复循环

--------------------------------------------------

在while循环前面加上这个就可以了。

时间: 2024-10-29 19:06:31

while死循环问题-输入字符就会死循环的相关文章

c语言:用fgetc函数从键盘逐个输入字符,用fputc函数写到磁盘文件

用fgetc函数从键盘逐个输入字符,用fputc函数写到磁盘文件. 解:程序: #include<stdio.h> #include<stdlib.h>//exit使程序终止 int main() { FILE* fp; char ch, filename[10]; printf("请输入所用的文件名:"); scanf("%s", &filename); if ((fp = fopen(filename, "w"

常用输入字符流Reader

Reader是用于输入字符数据的,它所根据的 方法跟InputStream基本一样.它是所有输入字符流的抽象父类,因此不能直接构建Reader的实例,必须通过它的子类来构建.以下是几个常用的子类: 1.字符数组作为输入源--CharArrayReader CharArrayReader包含一个内部缓冲区,该缓冲区包括从流中读取的字符数组.所谓内存缓存区,就是对应了内存中存在的字符数组,因此可以根据字符数组来创建该类的实例.它有以下两个构造函数: CharArrayReader(char[] bu

JS(javascript)动态判断输入文本框剩余可输入字符数

一.描述 我们在空间中发表状态,当我们输入一个字符,上面的剩余可输入字符数就会减一,直到输入的字符数达到之前设定的最大数量为止,效果如下图所示: 二.实现方法 首先,我们先确定文本框内的最大可输入长度,其次在输入一个字符抬起键盘的时候对输入文本框中的字符长度进行验证,并在动态显示在剩余可输入字符数中. 三.源代码 <%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib uri="

UItexfile实时验证输入字符

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; { NSString * toBeString = [textField.text stringByReplacingCharactersInRange:range withString:string]; UITextField *loginPas

android 中如何限制 EditText 最大输入字符数

方法一: 在 xml 文件中设置文本编辑框属性作字符数限制 如:android:maxLength="10" 即限制最大输入字符个数为10 方法二: 在代码中使用InputFilter 进行过滤 //editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)}); 即限定最大输入字符数为20 [java] view plaincopy public class TextEditActivity exten

实时统计输入字符个数

JavaScript中经常要实时统计输入的个数,用onkeyup只对输入英文有效果,输入中文时没办法实时统计:而使用onchange,也只能是等输入框失去焦点才能统计,并不能实时.下面的方法就可以实现实时统计: <div id="msg"></div> <input id='txt' value="" /> <script> //当状态改变的时候执行的函数 function handle() { document.ge

不在同一程序内,如何在光标处(当前有焦点的窗体输入框)输入字符

因测试一个程序,该程序的安卓端执行扫描条码二维码操作,然后服务器端需要在PC当前处于激活状态的窗体的当前光标处显示安卓程序扫描到的条形码.这是博主“小李飞菜刀”的扫描宝服务程序.场景就是苦于手边没有扫描枪,又想测试条码扫描.“小李飞菜刀”同学使用的是 "SendKeys"的“Send”方法.这是同一应用才能有效的办法.如果需要在其他应用的光标处输入字符,就只有使用"SendMessage"的windows api了.经过一番搜索,抄到段代码,测试了一下没有效果,TN

Xbox One:使用手机向Xbox One输入字符

有时你需要向Xbox One中输入字符,如兑换码.存储名称-- 你可以使用Xbox One SmartGlass应用,向Xbox One快速输入信息,而不用使用手柄的上下左右键,逐个字符进行输入.你可以在不同设备平台下载Xbox One SmartGlass,我使用的是Windows Phone 8版本(下图) 在Xbox One SmartGlass应用输入的信息,会在Xbox One主机界面同步显示.

iOS 限制UITextField输入字符

开篇 之前做过一个即时通信的项目,需要限制输入框文本的字符个数,当时从网络上搜寻了几个方法,解决了需求,但是网络上的解决办法不是很全面:今天又遇到一个限制搜索框UISearchBar输入字符个数的问题,所以就就想把字符限制这个问题做的完整彻底一点,下面我提出几个问题,然后一一再做解答,看看你在做字符限制的时候有没有遇到同样问题.在提出这几个问题之前,我先介绍几个方法: - (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRan