c++与c中多组输入的使用

news2024/11/24 8:37:40

我们现在看看c中多组输入的使用

int main()
{
	int a;
	//1
	while (~scanf("%d", &a))
	{

	}

	//2
	while (scanf("%d", &a) != EOF)
	{

	}

	return 0;
}

这两个是等同的

我们需要知道的是scanf的返回值是成功读取的个数,我们来验证一下

 我们可以看到,第一个输入了两个数,读取成功之后返回的是2;第二次输入的是1和~z返回的是1---~z是输入结束的标志(并返回0),所以成功读取到的数只有一个

也就是说,我们在进行多组输入的时候,想结束输入,我们可以使用crtl+Z来结束(需要注意的是根据编译器的不同,需要输入的Ctrl+Z的次数也是不同的,有的会输入3次,有的只需输入1次)

c++中的多组输入

首先cin不是函数而是iostream的对象,返回值是重载>>进行返回的,返回的是istream

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ahJpo6qF-1655438506866)(../img/image-20220617114231728.png)]

 我们在实际使用的时候

int main()
{
	int a;
	while (cin >> a)
	{

	}

	return 0;
}

那我们要如何停下来呢???

我们知道在c程序中可以使用Ctrl+Z进行停止输入,我们在这里也是可以的

计算机中有一个函数重载,是返回值转化为bool类型,这也就是为什么输入EOF可以停下来的原因

如果类中没有bool的类型重载

 我们在重载之后

 我们知道一般的重载都是要返回类型的,但是这个为什么不需要呢???

 我们给他加上返回类型后就会报错,这是一个转换函数可以理解成强制类型转换(不需要返回类型)

1scanf是一个函数**,返回值为一个int,代表scanf读入对象的个数,如果其读到EOF结束标志,会返回0相当于false;
2.cin是一个istream类型对象,他能作为判断语句的原因是istream类型中的>>操作符会返回一个istream对象(cin),如果>>读到EOF那么返回的istream对象(cin)中会检测到EOF的存在,那么istream类型的operator bool()转换函数起作用将这个对象(cin)转换成bool类型false作为条件判断;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/610150.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python在Mac上的运行方法

Python在Mac上的运行方法 如果你是一名使用Mac系统的Python开发人员,你肯定希望能够尽可能方便地运行Python。幸运的是,Mac系统已经预先安装了Python,但是你可能需要对其进行配置,以便更好地管理Python模块和环境。 检查Python版…

chatgpt赋能python:Python地区分析:如何使用Python进行地理数据分析

Python地区分析:如何使用Python进行地理数据分析 简介 Python是一种广泛使用的编程语言,它提供了许多强大的工具来处理大量数据。其中包括地理数据,地理数据是指地球表面的空间信息。Python中有一些强大的地图库,包括Folium和Ba…

chatgpt赋能python:Python的均值计算公式

Python的均值计算公式 在数据分析和机器学习方面,计算均值是非常常见的操作。Python提供了一些内置函数和库来计算均值。本文将介绍Python中常用的均值计算公式。 1. 算术均值 算术均值(Arithmetic Mean)是最常见的均值计算方法。Python中…

解决高并发

目录 1.4 对比单体系统、分布式系统和微服务系统 1.4.1 单体系统之痛 1、什么是单体系统 2、单体系统面临的问题 1.4.2 高并发系统之分布式架构 1.4.3 高并发系统之微服务架构 1.4 对比单体系统、分布式系统和微服务系统 接下来从企业真实场景出发,对比单体系统…

ROS:服务端Server的编程实现

目录 一、服务模型二、创建功能包三、创建代码并编译运行(C)3.1步骤3.2创建服务端Server代码3.3编译3.4运行 一、服务模型 Server端本身是进行模拟海龟运动的命令端,它的实现是通过给海龟发送速度(Twist)的指令&#x…

【Android Framework系列】第1章 Handler消息传递机制

1 Handler简介 Handler是一套Android的消息传递机制,Handler主要用于同进程的线程间通信。而Binder/Socket用于进程间通信。 2 Handler运行机制 Handler运行主要涉及到四个类:Handler、Looper、Message、MessageQueue Handler:消息处理器&…

chatgpt赋能python:Python文件备份的重要性和应用

Python文件备份的重要性和应用 在现代企业和个人用户中,数据备份是一项至关重要的工作,以防止数据丢失或损坏。当涉及到计算机数据时,文件备份是一项基本需求。文件备份还可以用于保护文件,以防它们被病毒、恶意软件或未经授权的…

法规标准-UN R158标准解读

UN R158是做什么的? UN R158全名为针对驾驶员识别车辆后方弱势道路使用者,联合国对倒车系统和机动车的统一规定,该法规涉及批准倒车和机动车辆的装置,主要为保证倒车时避免碰撞,方便驾驶员观察了解车辆后部人员和物体…

dSPACE一览(暂存)

1. SCALEXIO - dSPACE 2. dSPACE仿真流程介绍(dSPACE软件介绍、仿真演示、自动化API接口使用)_云溪溪儿的博客-CSDN博客 目录 硬件 板卡 软件 VEOS 应用领域 全面总线仿真 高效集成多种建模方法 硬件 板卡 SCALEXIO FPGA Subsystems DS6601 FPG…

STM32通过esp8266连接WiFi接入MQTT服务器

上文我们讲到如何搭建本地MQTT服务器,现在介绍如何通过stm32连接MQTT 一.首先我们初始化esp8266这里我们使用的是USART4与其通信代码如下 void UART4_Init(uint32_t bound) {GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;RCC_APB1…

高通 Camera HAL3:添加一条PipeLine

一.概述 添加一条PipeLine实现两路Raw进,一路Raw出 二.简介 要添加的PipeLine:SWMFMergeRawTwo2One 包含1个memcpy node,这个node用于将2个raw buffer input输入 变为 1个raw buffer output输出 三.添加 3.1 在相应的Usecase下添加一个p…

Spring Cloud Alibaba - Nacos源码分析(一)

目录 一、源码 1、为什么要分析源码 2、看源码的方法 二、Nacos服务注册与发现源码剖析 1、Nacos核心功能点 2、Nacos服务端/客户端原理 2.1、nacos-example 2.2、Nacos-Client测试类 3、项目中实例客户端注册 一、源码 1、为什么要分析源码 1. 提升技术功底&#x…

NB使用MQTT连接格物平台

内容简介: 本文主要记述了怎么使用NB-IoT模块,采用MQTT协议连接联通的格物平台,并且实现单属性和多属性数据的上报。 1 创建产品 打开格物平台,进行注册登录;之后点击页面的控制台,进入设备管理引擎&#x…

爬取中文新闻+正向、逆向最大匹配算法分词+算法优化+P、R、F值评估(完整详细过程+Python源码)

如标题所示,本文旨在记录这次分词实验,将主要从以下四点展开: 1、新闻文本的获取(完整爬虫过程) 爬取新闻网站中多个板块的新闻,这里建议可以多爬一些板块,保证新闻内容主题丰富,分…

计算机网络 - 移动网络

Wireless links and network Characterstics 无线网络信号会衰减很快, 会被别的source影响, 传播过程中经历多个路径比如经过建筑, 树木等收到影响. 所以就有了信噪比的概念 CDMA CDMA是一种在多点连接时候避免collision的一种算法. 主要是每个sender都用不同的编码, 然后se…

chatgpt赋能python:Python声音处理入门指南

Python声音处理入门指南 如果你是一个音乐爱好者或者处理声音的工程师,Python语言是值得你考虑的一种工具,它拥有丰富的库,可以帮助你在声音分析、编辑、压缩和转换等方面做出成果。 Python声音处理库 Python语言拥有一个大量的声音处理库…

电脑通过VNC连接树莓派

0. 实验准备 VNC软件 VNC Viewer 或者 MobaXterm(安装包点击即可下载) 可以使用SSH登录进去或者有屏幕的树莓派 一台可以使用的电脑 树莓派和电脑连接在同一个局域网下 0.5 树莓派的公共操作 打开树莓派的 VNC 功能 有屏幕的 打开 VNC 功能&#xff…

日志框架 --- Logback

文章目录 1. 什么是logback2. logback的日志级别3. 日志级别的层级4. logback配置文件4.1 logger标签4.2 root标签4.3 appender标签4.4 filter标签4.5 encoder标签 5. 整体演示5.1 配置文件5.2 运行结果 1. 什么是logback Logback是一个用于Java应用程序的日志框架&#xff0c…

android 如何分析应用的内存(三)

android 如何分析应用的内存(三) 接上文 细节部分包括如下 native部分 寄存器内容是什么。如pc指向何处,sp指向何处指定地址内容是什么。如变量a对应的内容线程堆栈内容是什么。如主线程的堆栈,UI线程的堆栈堆区的对象有哪些。…

图像边缘提取

什么是图像边缘: 图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,既从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。 什么是灰度值: 指图像中点的颜色深度,范围一般从0到255…