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);
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

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

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

服务容错性设计

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

网站的容错性设计原则

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

Hadoop容错性

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

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

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

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

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

spark学习笔记5 spark容错性

一般来说,分布式数据集的容错性有两种方式:数据检查点和记录数据的更新。 面向大规模数据分析,数据检查点操作成本很高,需要通过数据中心的网络连接在机器之间复制庞大的数据集,而网络带宽往往比内存带宽低得多...

一致性(Consistency),可用性(Avilable),分区容错性(Tolerance of network Partition)

网络摘抄理解: 一致性:读操作总是能读取到之前完成的写操作结果,满足这个条件的系统称为强一致系统,这里的“之前”一般对同一个客户端而言; 可用性:读写操作在单台机器发生故障的情况下仍然能够正常执行...

Apache Spark源码走读之15 -- Standalone部署模式下的容错性分析

本文就standalone部署方式下的容错性问题做比较细致的分析,主要回答standalone部署方式下的包含哪些主要节点,当某一类节点出现问题时,系统是如何处理的。组成cluster的不同节点,启动...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言 输入数字的容错性检查
举报原因:
原因补充:

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