C语言:当用户输入q或其他非数字值时,循环结束?请问这样如何实现?_百度...1、如果返回值不是变量地址的个数,那么就代表有非法字符输出,即所说的非数字值。以输入int值为例,下面这个程序实现了一个没什么用处的功能,仅供理解上述方法。函数名:test 功能:循环读入整数,当输入非数字值时结束循环。 2、scanf叫做“格式化输入”函数,这个函数是“脆弱型”的输入处理,在遇到非法输入的时候,只会跳过,不会清理输入缓冲区,造成了你在while中这样做就是死循环,因为缓冲区一直有“已经输入的并且未清除的内容”。 3、printf(Please give me your upper:\n);char ch[100];gets(ch);scanf(%d,&upper);这样就可以了。 4、int number = 0; while(true) { printf(请输入数字:\n); scanf (%d,&number); if (number == 1) { return; } } 点击红叹号测试。
|