C语言 输入数字的容错性检查

原创 2016年08月28日 17:09:17

VS似乎不能用fflush(stdin),Linux下gcc貌似更不行了,目前就先用这种方法来写输入数字的容错性。

void main() {
    //getchar()只是一个宏,下面是stdio.h中的定义:#define getchar() getc(stdin)参数stdin是指键盘
    int i;
    printf("请输入正值i:");
    while (1) { 
        if (!scanf("%d", &i))                  //字母开头
        {
            printf("请重新输入:");
            while (getchar() != '\n');
        }
        else if (getchar() != '\n') {          //数字开头后面没接回车
            printf("请重新输入:");
            while (getchar() != '\n');
        }
        else if(i<=0) printf("请重新输入:");   //数字开头后接回车(非正数)
        else break;                            //数字开头后接回车(正数)
    }
    printf("i=%d", i);
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

代码容错性及设计的一些小技巧(持续更新)

程序容错性的一些小技巧(持续更新)do-while的使用#ifndef _BEGIN_DO_WHILE_ #define _BEGIN_DO_WHILE_ do{ #define _END_DO_W...

亿级Web系统的容错性建设实践

http://hansionxu.blog.163.com/blog/static/2416981092016337355221/?hmsr=toutiao.io&amp;utm_medium=tou...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Hadoop MapReduce容错性分析

本文讲述Hadoop-0.21.0 以及以上版本中MapReduce的容错机制。包括JobTracker,TaskTracker,Job,Task,Record等级别的容错机制。 1. JobT...

亿级Web系统的高容错性实践

背景介绍 大概三年前,我在腾讯负责的活动运营系统,因为业务流量规模的数倍增长,系统出现了各种各样的异常,当时,作为开发的我,7*24小时地没日没夜处理告警,周末和凌晨也经常上线,疲于奔命。后来,...

服务容错性设计

服务要有容错设计,为失败而设计。 服务主要异常场景: (1)服务内部出错、异常; (2)服务处理延迟; (3)服务处理过载; (4)网络链路延迟或中断; (5)服务依赖链中部分依赖...

网站的容错性设计原则

互联网技术的飙升,网络技术的大量使用,郑州网站建设公司的职责也变得非常的高大上和沉重。如今市场上越来越多的B2C和C2C产品的用户体验越来越重要了,但是站在用户的角度上面,并不是每次搜索都是对的,我们...

轻松实现可伸缩性,容错性,和负载平衡的大规模多人在线系统

转载:http://erlang-china.org/study/erlang-mmorpg.html 简介: 本文以我的OpenPoker项目为例介绍另一种构建大规模多人在线...

Hadoop容错性

使用Hadoop来运行你的作业的其中一个主要原因就是它的高容错性,就算在由高失败率的节点或网络组成的大集群内运行的作业,Hadoop都可以让作业成功完成。   Hadoop实现容错的主要方法就是重新...

hadoop容错性分析

转自:http://dongxicheng.org/mapreduce/hadoop-mapreduce-failure-tolerance/ 本文讲述Hadoop-0.21.0 以及以上版...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)