强制结束输入的方法

news2024/11/15 21:22:56

如果scanf要求输入两个数,现在只输入一个数,想要结束输入该怎么办呢?

此时如果按空格、TAB和Enter键都是无法结束输入的。

之前在“用恋爱脑搞懂scanf的返回值”一文中讲过, Windows的输入结束信号是Ctrl+Z,具体步骤是:输入完毕后按Ctrl+Z键,再按Enter键,即可结束输入。

但在“非常绕的’输入结束’信号”一文中咱们又强调了这种输入信号起作用的条件:“输入结束”信号要正常发挥作用,必须是在当前scanf语句未输入任何数据前按Ctrl+Z。

显然本文开头说的情形并不满足上述条件。那么在已输入部分数据时要如何强制结束输入呢?

方法就是给一个不符合要求的输入。比如求两个整数和的代码:

#include<stdio.h>
int main(){
    int a=9,b=5;
    scanf("%d %d", &a, &b);
    printf("%d\n", a+b);
    return 0;
}

正常我们要输入两个整数,如果我们想输入一个整数后就强制结束输入,可以这样输入:

2 x

整数2会被成功输入,而字母x因为类型不匹配自然不会输入,但因为类型不匹配,它会直接导致整个输入结束,此时scanf只能功接收到一个输入,返回1。

如果输入:2 CTRL+Z,结果和前面一样,也能实现强制结束输入的效果,有人就会误认为这里是CTRL+Z起到了发出“输入结束”信号的作用。其实不然,此时Ctrl+Z只被当作字符串处理,和输入x是一回事,根本不是“输入结束”信号。

为了验证这个结论,咱们可以输出scanf函数的返回值。

#include<stdio.h>
int main(){
    int a=9,b=5,r;
    r=scanf("%d %d", &a, &b);
    printf("%d %d\n", a+b, r);
    return 0;
}

结果如下:

从表中可以看出,输入“2 x”和“2 CTRL+Z”无论是求和结果还是scanf函数的返回值都是一样的,因此二者是一回事,都是靠输入类型不匹配实现强制结束输入。

总结一下,有两种方法可以结束输入:

①发“输入结束”信号:Ctrl+Z。但这个信号起作用有严格的限制条件:必须是在当前scanf语句未输入任何数据前按Ctrl+Z。

②输入类型不匹配的数据。

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

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

相关文章

ParallelsDesktop19可在任何Mac上运行Windows软件

ParallelsDesktop19是一款Mac虚拟机软件&#xff0c;可在任何Mac上运行Windows&#xff0c;体验不同操作系统之间的无缝集成&#xff0c;并具有创新设计和增强功能&#xff0c;如无密码登录与TouchID、支持macOSSonoma14和增强打印选项。此外&#xff0c;它还支持运行更多Windo…

day40(8/30)——使用docker部署project-exam-system

一、回顾 1、使用harbao仓库 1. Python -- version 2. yum -y update 3. yum -y install python2-pip 4. pip install --upgrade pip20.3 -i https://mirrors.aliyun.com/pypi/simple 5. pip install docker-compose -i https://mirrors.aliyun.com/pypi/simple 6. sou…

安宝特科技 | AR眼镜在安保与安防领域的创新应用及前景

随着科技的不断进步&#xff0c;增强现实&#xff08;AR&#xff09;技术逐渐在多个领域展现出其独特的优势&#xff0c;尤其是在安保和安防方面。AR眼镜凭借其先进的功能&#xff0c;在机场、车站、海关、港口、工厂、园区、消防局和警察局等行业中为安保人员提供了更为高效、…

KinectFusion

1.KinectFusion 笔记来源&#xff1a; 论文地址&#xff1a;KinectFusion: Real-time 3D Reconstruction and Interaction Using a Moving Depth Camera* 项目地址&#xff1a;github/KinectFusion [1] 截断符号距离 | TSDF, Truncated Signed Distance Function 本篇对Kinec…

零跑C11 S01 T03 路特斯EMEYA繁花ELETRE启辰D60EVPLUS维修手册电路图资料更新

经过整理&#xff0c;零跑C11 S01 T03 路特斯EMEYA繁花ELETRE启辰D60EVPLUS已经更新至汽修帮手资料库内&#xff0c;覆盖市面上99%车型&#xff0c;包括维修手册、电路图、新车特征、车身钣金维修数据、全车拆装、扭力、发动机大修、发动机正时、保养、电路图、针脚定义、模块传…

tomcat redis minio nginx windows开机自启

tomcat 开机自启 命令 service.bat install 控制台输入 service.bat install 再到服务中去查看有没有注册成功&#xff0c;minio,redis,nginx 也是一样在服务里查看注册成功没 redis 开机自启 命令 redis-server.exe --service-install redis.windows.conf --loglevel ve…

CT转化MR图像的算法及模型解决

将CT&#xff08;Computed Tomography&#xff09;图像转化为MR&#xff08;Magnetic Resonance&#xff09;图像是一个复杂的图像处理任务&#xff0c;因为CT和MR图像是基于完全不同的物理原理获取的。CT图像主要反映组织的密度差异&#xff0c;而MR图像则反映组织的质子密度、…

python 遍历文件夹中的文件

上代码&#xff1a; import os# 设置要遍历的文件夹路径 folder_path utils# 遍历文件夹 for dirname, subdirs, files in os.walk(folder_path):print(fFound directory: {dirname})for file in files:print(f{os.path.join(dirname, file)} is a file)# 如果需要遍历子文件…

探索存储世界:TF卡与SD卡的奥秘

在这个数字化时代&#xff0c;数据存储变得至关重要。TF卡&#xff08;TransFlash卡&#xff09;和SD卡&#xff08;Secure Digital卡&#xff09;作为两种常见的存储介质&#xff0c;它们在我们的日常生活中扮演着重要角色。MK米客方德将带您深入了解TF卡的基本概念&#xff0…

netcore高级知识点,内存对齐,原理与示例

最近几年一直从事物联网开发&#xff0c;与硬件打交道越来越多&#xff0c;发现越接近底层开发对性能的追求越高&#xff0c;毕竟硬件资源相对上层应用来实在是太缺乏了。今天想和大家一起分享关于C#中的内存对齐&#xff0c;希望通过理解和优化内存对齐&#xff0c;可以帮助大…

深度学习模型量化方法

深度学习模型量化方法 (qq.com)

【hot100篇-python刷题记录】【回文链表】

R7-链表篇 思路&#xff1a; 转回文数组法 链表转数组&#xff0c;再使用双指针判断是不是回文数组即可。 wkao?!根本不用双指针判断是否回文数组&#xff0c;只需要倒序判断布尔值即可。&#xff08;牛啊牛啊&#xff09; # Definition for singly-linked list. # class…

LIN总线CAPL函数—— 更新特定报文数据(linUpdateResponse)

&#x1f345; 我是蚂蚁小兵&#xff0c;专注于车载诊断领域&#xff0c;尤其擅长于对CANoe工具的使用&#x1f345; 寻找组织 &#xff0c;答疑解惑&#xff0c;摸鱼聊天&#xff0c;博客源码&#xff0c;点击加入&#x1f449;【相亲相爱一家人】&#x1f345; 玩转CANoe&…

激光测距模组光轴调试怎么调

激光测距模组作为精密的测量工具&#xff0c;其光轴调试是确保测量精度的重要环节。正确调试光轴不仅能够提升测量的准确性&#xff0c;还能延长设备的使用寿命。以下将由鑫优威给大家详细介绍激光测距模组光轴调试的步骤及注意事项。 一、准备工作 在进行光轴调试前&#xff0…

[米联客-XILINX-H3_CZ08_7100] FPGA程序设计基础实验连载-24 TPG图像测试数据发生器设计

软件版本&#xff1a;VIVADO2021.1 操作系统&#xff1a;WIN10 64bit 硬件平台&#xff1a;适用 XILINX A7/K7/Z7/ZU/KU 系列 FPGA 实验平台&#xff1a;米联客-MLK-H3-CZ08-7100开发板 板卡获取平台&#xff1a;https://milianke.tmall.com/ 登录“米联客”FPGA社区 http…

非标机械设计项目“规范”笔记

2.自动化设备开发特点与技术文件输出 2.1自动化设备 自动化设备 工业自动化设备类型&#xff1a;标准自动化、非标自动化 载具和治具 焊接治具---汽车行业用的多 压装、压合治具---3C行业 治具种类&#xff1a; 电木&#xff1a;测试治具箱体&#xf…

Mac系统App打包成dmg文件总结

使用软件&#xff1a;BetterZip 操作步骤如下&#xff1a; 打开BetterZip 将想要打包的App拖入当前界面 选中文件点击文件-另存为 修改保存位置和压缩格式&#xff0c;点击存储即可 保存完成后修改文件名即可

关联模块的查询列表勾选数据,新建带出勾选数据

在模块找到页面拓展&#xff0c;新建按钮&#xff0c;代码在链接目标地址中写 获取当前勾选数据的id,将ID拼接到弹窗地址上 var CheckedCheckboxId _xtable_CheckedCheckboxId();//勾选中的checkid var result CheckedCheckboxId.replace(/^,|,$/g, ""); window.ope…

哪种类型的耳机不伤耳朵?五款口碑绝佳机型安利!

​要说最不伤耳朵的耳机&#xff0c;那肯定得是开放式耳机了&#xff01;开放式耳机现在超火&#xff0c;因为它们戴起来舒服&#xff0c;音质又棒&#xff0c;让喜欢音乐和运动的朋友们超爱。特别是那些边运动边听歌的人&#xff0c;开放式耳机简直是完美。它们戴着稳&#xf…

网站注册流程是怎样的

网站注册流程是一项关键的操作&#xff0c;对于用户来说&#xff0c;这是接触和利用公司服务的第一步。一个简单、清晰的注册流程能够提高用户体验&#xff0c;增强用户对公司的信任感。下面是一个通用的公司网站注册流程&#xff0c;以及一些设计原则&#xff0c;以确保注册过…