【时时三省】(C语言基础)循环语句while(2)

山不在高,有仙则名。水不在深,有龙则灵。

                          ——csdn时时三省

getchar和scanf的作用

示例:

int main ( )

char password[20] = ( 0 ) ;

printf ( "请输入密码:> " );

scanf ( " %s ", password ) ;

printf ( "请确认密码( Y / N ):> " );

int ch = getchar();

if ( ch = = ' Y ' )

printf ( "确认成功\ n " );

else

printf ( "确认失败\ n " );

return 0 ;

解释

getchar

scanf都是输入函数

它回去缓冲区里面拿数据 就是输入缓冲区

当输入密码的时候键盘输入的数字会进入到缓冲区 scanf就会把缓冲区的数字拿走 但是缓冲区还会剩一个\n 等getchar从缓冲区拿数据的时候就会直接输入\n 就会导致输出不是自己想要的数据 这个时候只需要清理下缓冲区就可以了 在getchar前面再加一个getchar()就可以了处理掉\n

但是如果输入密码中含有空格这个方法就不太适用了 比如密码是123456 abcb\n scanf就只会拿走空格前面的数字 后面的还会在缓冲区里面 我们就没法输入字符了

需要写很多个getchar来清理缓冲区 这个时候就需要写一个while循环

int tmp=0;

while((tmp=getchar())!=‘\n’)

空语句就是不显示,相当于扔了

c53311c5822246ba839c0c2ea3638f0d.jpg

 

 

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

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

相关文章

Sping项目只能勾选17和21 (已解决) 导致的后续Invalid bound statement (not found):

问题发现 今天创建项目的时候发现 idea初始化spring的时候选择不了Java8 解决方案:替换URL为 https://start.aliyun.com/ 将IDEA页面创建Spring项目,其实是访问spring initializr去创建项目。故我们可以通过阿里云国服去间接创建Spring项目。 将https://start.spr…

使用 VMware vCenter Server(vSphere Client)迁移 ESXi 虚拟机

我需要将虚拟机 k8s-dev-node4从 ESXi 主机 192.168.1.161 迁移到 ESXi 主机 192.168.1.162 上,使用 VMware vCenter Server(vSphere Client)在浏览器上可视化操作,将这个需求变的非常简单。 1、选中需要迁移的虚拟机&#xff0c…

【AI落地应用实战】Amazon Bedrock +Amazon Step Functions实现链式提示(Prompt Chaining)

一、链式提示 Prompt Chaining架构 Prompt Chaining 是一种在生成式人工智能(如大型语言模型)中广泛使用的技术,它允许用户通过一系列精心设计的提示(Prompts)来引导模型生成更加精确、丰富且符合特定需求的内容。 P…

获取手机当前信号强度(dbm/asu值)解决 getGsmSignalStrength()总是返回99问题

能看到这篇文章说明网上哪些获取 (dbm/asu值)不适合你,不是他们的代码不正确,而是不符合你的情况 比如安卓6获取android手机信号强度 可以看这篇文章 https://blog.csdn.net/sinat_31057219/article/details/81134030 当然如果你…

Javaweb项目|springboot医院管理系统

收藏点赞不迷路 关注作者有好处 文末获取源码 一、系统展示 二、万字文档展示 基于springboot医院管理系统 开发语言:Java 数据库:MySQL 技术:SpringSpringMVCMyBatisVue 工具:IDEA/Ecilpse、Navicat、Maven 编号:…

Source insight 配置代码格式化

代码格式化工具:Artistic Style Files Download 配置 Source Insight 添加 Astyle 命令 Tools --> Custom Commands -->Add 在 Run 栏填入格式化命令: "D:\Program Files\astyle-3.5.2-x64\astyle.exe" -A3 -t -xV -w -Y -m0 -p -H …

【Vulnhub系列】Vulnhub_Raven2靶场渗透(原创)

【Vulnhub系列靶场】Vulnhub_Raven2 渗透 原文转载已经过授权 原文链接:Lusen的小窝 - 学无止尽,不进则退 (lusensec.github.io) 一、环境准备 从网盘下载该靶机,在vm中选择【打开】 然后设置好存储路径,开机后检查靶机的网络连…

Redis缓存数据库进阶——Redis缓存数据同步问题(8)

Redis缓存使用问题 数据一致性 只要使用到缓存,无论是本地内存做缓存还是使用 redis 做缓存,那么就会存在数据同步的问题。 我以 Tomcat 向 MySQL 中写入和删改数据为例,来给你解释一下,数据的增删改操作具体是如何进行的。 我…

从入门到精通:电商设计师的职业发展指南

在当今数字时代,电商设计师的作用越来越重要。从电子商务网站的整体造型设计到产品页面的具体布局,他们的工作范围是电子商务企业成功的关键因素之一。然而,并不是每个人都对这个职业有深刻的理解。因此,在本文中,我们…

【Git-驯化】一文学会git中对代码进行存储操作:git stash技巧

【Git-驯化】一文学会git中对代码进行存储操作:git stash技巧 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 免费获取相关内…

【无标题】DNS域名解析

回顾指令: samba机器: 安装samba Yum -y install samba 自建库,只下载不安装 Yum -y install --downloadonly --downloaddir./soft/ 配置samba Vim /etc/samba/smb.conf [smb_share] comment smb share service path /share/ guest…

python爬虫的基础知识

1.学习爬虫的好处 提升编程技能:爬虫开发需要掌握编程基础,特别是网络请求、HTML/CSS/JavaScript解析、数据存储和异常处理等技能。通过学习爬虫,你可以巩固和提升你的编程技能,特别是Python等编程语言的应用能力。 数据驱动决策…

力扣高频SQL 50题(基础版)第二十四题

文章目录 力扣高频SQL 50题(基础版)第二十四题1729.求关注者的数量题目说明实现过程准备数据实现方式结果截图 力扣高频SQL 50题(基础版)第二十四题 1729.求关注者的数量 题目说明 表: Followers ----------------…

QT--聊天室

一、设计要求 用QT做一个聊天室, 制作一个服务器和客户端。可以进行注册、登录, 登陆成功后可以使用昵称进行发送、接收消息。 能根据昵称、聊天内容查询历史记录,也可以查询全部聊天记录。 。 二、客户端三级ui界面 三、项目代码 //在…

【Redis进阶】集群

1. 集群分片算法 1.1 集群概述 首先对于"集群"这个概念是存在不同理解的: 广义的"集群":表示由多台主机构成的分布式系统,称为"集群"狭义的"集群":指的是redis提供的一种集群模式&…

K210视觉识别模块学习笔记8:Mx_yolo3本地模型训练环境搭建_部署模型到亚博canmv(失败)

今日开始学习K210视觉识别模块: 本地模型训练环境搭建 亚博智能 K210视觉识别模块...... 固件库: canmv_yahboom_v2.1.1.bin 本地训练 Mx_yolo3 这里就简单地提示一下下载安装哪些软件,然后主要是使用Mx_yolo3 进行本地训练模型的...... 本文不…

【Android】Fragment的添加

上一篇文章学到了碎片的创建与生命周期,接下来学习碎片的常用操作,其中会用到上一篇文章的三个碎片,就做一个简单的说明吧:LeftFragment(包含一个按钮)、RightFragment4(以粉色为背景的文本&…

跨境电商选品师做好这几个关键点

在当今充满竞争的跨境电商市场上,成为一名成功的选品师并非易事。以下是几个关键点,能够帮助跨境电商选品师做好工作并取得成功。下面老阳为大家总结几点做好跨境选品师的几个关键点,希望对大家有所帮助。 首先,深入市场调研和产品…

Notepad

https://codeforces.com/contest/17/problem/D ​​​​​​​ 没有前导零 因此一共写个数字&#xff0c;再mod c 数据范围很大,因此我们魔改一下快读 再用扩展欧拉定理 #include<iostream> #include<cstdio> #include<cstring> using namespace std; ty…

JAVA里的多线程上部(详解)

1.实现多线程 1.1简单了解多线程【理解】 是指从软件或者硬件上实现多个线程并发执行的技术。 具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程&#xff0c;提升性能。 1.2并发和并行【理解】 并行&#xff1a;在同一时刻&#xff0c;有多个指令在多个CPU上…