while持续输入的几种常用使用方法

while(scanf("%d,&n")!=EOF)

如果n被成功读入,则返回值为1,

如果n未被成功读入,则返回值为0,

如果遇到错误或遇到end of file,返回值为EOF。

那么什么时候返回EOF呢,简单来说在Windows下按住Ctrl+Z,在Mac下按住Ctrl+D,作为结束流的信号。

当然你有一些特殊的要求,比如我想让n=0时结束。

while(scanf("%d",&n)!=EOF)
{
    if(n==0)
    break;
}

当然我将全部方法总结如下

例如:

while(scanf("%d",&n)!=EOF)

while(~scanf("%d",&n))
-------------------------------------以上可以按Ctrl+Z或Ctrl+D来结束,按0时会继续输入
while(scanf("%d",&n)&&n!=0)

while(scanf("%d",&n)&&n)    //上一步简化后,相当于while(n)<--这个n是你输入的值

while(scanf("%d",&n),n)
-------------------------------------以上是在输入0时结束,按Ctrl+Z或Ctrl+D无效
while(scanf("%d",&n)==1&&n)
-------------------------------------既可以按0时结束,也可以以按住Ctrl+Z或Ctrl+D结束


以上都是输入一种变量时。

当然有题目也需要两种变量,同样的道理。

while (scanf("%d %d",&m,&n)!=EOF)

while (~scanf("%d%d",&m,&n))
-----------------------------------------------------以上可以按Ctrl+Z或Ctrl+D来结束,按0 0时会继续输入
while(scanf("%d%d",&m,&n)&&m&&n)

while(scanf("%d%d",&m,&n),m,n)

while(scanf("%d%d",&m,&n)==2,m,n)
--------------------------------------------以上是在输入0 0时结束,按Ctrl+Z或Ctrl+D无效
while(scanf("%d %d",&m,&n)==2&&m&&n)
---------------------------------------------既可以按0 0时结束,也可以以按住Ctrl+Z或Ctrl+D结束

原文地址:https://www.cnblogs.com/icesunbo/p/11490550.html

时间: 2024-08-04 07:51:08

while持续输入的几种常用使用方法的相关文章

数据挖掘之七种常用的方法

数据挖掘又称数据库中的知识发现,是目前人工智能和数据库领域研究的热点问题,所谓数据挖掘是指从数据库的大量数据中揭示出隐含的.先前未知的并有潜在价值的信息的非平凡过程 利用数据挖掘进行数据分... 数据挖掘又称数据库中的知识发现,是目前人工智能和数据库领域研究的热点问题,所谓数据挖掘是指从数据库的大量数据中揭示出隐含的.先前未知的并有潜在价值的信息的非平凡过程 利用数据挖掘进行数据分析常用的方法主要有分类.回归分析.聚类.关联规则.特征.变化和偏差分析.Web页挖掘等, 它们分别从不同的角度对数据

守护进程接收终端输入的一种变通性方法(二)

前言 本文作为<守护进程接收终端输入的一种变通性方法>的补充版,主要讨论不使用第三方库时,如何支持字符终端命令行的退格和历史记录.文中涉及的代码运行环境如下: 一  退格键 术语“退格”(BS,BackSpace)本意指删除光标左侧的一个字符.最初的打字机中,退格键将机架(carriage)回退一个位置:而在现代计算机系统中,退格键将显示器光标左移一个位置,并删除该处的字符,然后将该处之后的文字左移一个位置. 删除(DEL,Delete)键可追溯到计算机使用打孔磁带的年代.当时,纠正一个字符打

守护进程接收终端输入的一种变通性方法

说明 本文主要介绍某嵌入式产品中DSL用户态驱动模块作为守护进程时,如何接收终端输入的变通性方法. 出于信息安全考虑,文中涉及系统方面的接口函数未给出实现细节,但不影响表述的完整性. 相关性文章参见<GNU Readline库函数的应用示例>. 一  背景知识 init进程(如Busybox init)是嵌入式系统内核自举时启动的第一个也是惟一的用户进程.init进程是后续所有其他进程的父进程(其进程ID为1),在系统运行期间以守护进程的形式一直存在.它主要负责启动各运行层次特定的系统服务(如

js跨域请求数据的3种常用的方法

由于js同源策略的影响,当在某一域名下请求其他域名,或者同一域名,不同端口下的url时,就会变成不被允许的跨域请求.那这个时候通常怎么解决呢,对此菜鸟光头我稍作了整理:1.JavaScript   在原生js(没有jQuery和ajax支持)的情况下,通常客户端代码是这样的(我假设是在localhost:8080的端口下的http://localhost:8080/webs/i.mediapower.mobi/wutao/index.html页面的body标签下面加入以下代码): <script

C++ 中用cin方式获取输入的几种常用方式

一.前言 在C++程序的编写过程中,可能会经常用到cin方式用来捕获输入设备的输入信息.细分的话,主要的方式有:cin>>.cin.get.cin.getline.在借助键盘等字符输入设备进行输入的时候,如果键入Enter(\r)才会把目标字符输入到缓存区,,键入的'\r'会被转换成一个'\n',这个换行符同样也会被输入到缓存区,当做一个键入字符来处理. 参考资料:https://blog.csdn.net/k346k346/article/details/48213811 二.测试环境 Wi

【iOS开发-网络】两种常用的方法解析XML数据

解析XML数据常用的有两种方法 第一种 使用Google的GDataXMLNode解析XML数据 使用的是DOM方式解析 先把xml一口吞掉 然后一点一点的解析 第二种 使用苹果自带的NSXMLParser解析XML数据 使用的是SAX方式解析 一个标记一个标记的解析 第一种使用步骤 第一步 首先把GDataXML文件夹放入项目中 第二步 更改Bulid Setting里面的东西 更改头文件搜索路径 在Header Search Paths里面添加路径/usr/include/libxml2 在

矩阵或多维数组两种常用实现方法 - python

在python中,实现多维数组或矩阵,有两种常用方法: 内置列表方法和numpy 科学计算包方法. 下面以创建10*10矩阵或多维数组为例,并初始化为0,程序如下: # Method 1: list arr1 = [[0]*10 for i in range(10)] arr1[0][0] = 1 print "Method 1:\n", arr1 arr2 = [[0 for i in range(10)] for i in range(10)] arr2[0][0] = 1 pri

谈谈跨域请求数据的几种常用的方法

由于js同源策略的影响,当在某一域名下请求其他域名,或者同一域名,不同端口下的url时,就会变成不被允许的跨域请求. 那这个时候通常怎么解决呢,对此菜鸟光头我稍作了整理: 1.JavaScript 在原生js(没有jQuery和ajax支持)的情况下,通常客户端代码是这样的(我假设是在localhost:8080的端口下的http://localhost:8080/webs/i.mediapower.mobi/wutao/index.html页面的body标签下面加入以下代码): <script

String类的几种常用的方法

1.int length():获取字符串的长度 2.char charAt(int index):获取指定的索引处的字符串 3.int indexOf(String str):获取str在字符串对象中第一次出现的索引 4.String substring(int start):从start开始截取字符串 5.String substring(int start,int end):从start开始截取字符,到end结束截取字符 6.char[ ] toCharArray():把字符串转换为字符数组