C语言学习笔记[24]:循环语句while②
getchar()的使用场景
int main()
{char password[20] = {0};printf("请输入密码:");//输入 123456 后回车scanf("%s", passwoed);//数组名本身就是数组地址printf("请确认密码:Y/N");int ch = getchar();if('Y' == ch)printf("确认成功\n");elseprintf("确认失败\n");return 0;
}

执行结果却根本没有让输入Y/N,而是直接现实确认失败了
因为输入123456回车后,缓冲区中存放的是 123456\n
接着scanf拿走了123456
getchar看到缓冲区中有数据,则直接拿走\n
此时ch中存放的\n
所以直接显示确认失败
想要解决上述问题,可以进行如下操作,从而清理缓冲区的字符
#include <stdio.h>int main()
{char password[20] = {0};printf("请输入密码:"); // 输入 123456 后回车scanf("%s", password);int tmp = 0;while ((tmp = getchar()) != '\n') // 一直用 getchar() 并把取出的数据存入 tmp 中,直到取出 \n{;}printf("请确认密码:Y/N");int ch = getchar();if ('Y' == ch)printf("确认成功\n");elseprintf("确认失败\n");return 0;
}

下面的代码输出什么呢?
#include <stdio.h>int main()
{int ch = 0; while ((ch = getchar()) != EOF) // 输入字符{if (ch < '0' || ch > '9') // ch 小于字符 0 大于字符 9 时continue;putchar(ch);}return 0;
}
ch 小于字符 0 大于字符 9 时,跳过循环不打印,否则打印ch
即 只打印 0~9
相关文章:
C语言学习笔记[24]:循环语句while②
getchar()的使用场景 int main() {char password[20] {0};printf("请输入密码:");//输入 123456 后回车scanf("%s", passwoed);//数组名本身就是数组地址printf("请确认密码:Y/N");int ch getchar();if(Y ch)printf(&…...
安全运营概述
安全运营概述 概述安全运营的工作对内安全运营工作对外安全运营工作品牌建设 概述 安全是一个过程,安全是靠运营出来的,公司会不断的有新业务的变更,新产品的发布,新版本的升级,技术架构的升级,底层系统的…...
spring-cloud和spring-cloud-alibaba的关系
首先Spring Cloud 是什么? Spring Cloud是一系列框架的有序集合,它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发。Spring Cloud提供了微服务架构开发所需的多种组件和工具,如服务发现注册、配置中心、消息总线、负载均…...
持续集成06--Jenkins构建触发器
前言 在持续集成(CI)的实践中,构建触发器是自动化流程中不可或缺的一环。它决定了何时启动构建过程,从而确保代码变更能够及时地得到验证和反馈。Jenkins,作为业界领先的CI/CD工具,提供了多种构建触发器选项…...
根据视图矩阵, 恢复相机的世界空间的位置
根据视图矩阵, 恢复相机的世界空间的位置 一、方法1 glsl 实现: // 从本地局部坐标系(相机空间) 到 世界空间的旋转变换 mat3 getLocal2WorldRotation() {mat3 world2localRotation mat3(viewMatrix[0].xyz,viewMatrix[1].xyz,viewMatrix[2].xyz);return inverse(world2loca…...
使用pytest-playwright截图和录制视频并添加到Allure报告
一、依赖环境 python, version==3.9.5 pytest-playwright, version==0.5.1 allure-pytest, version==2.13.5 pytest, version==6.2.5 allure, version==2.22.0pytest-playwright支持如下命令行参数: Playwright:--browser={chromium,firefox,webkit}Browser engine which …...
pytorch GPU cuda 使用 报错 整理
GPU 使用、报错整理 1. 使用指定GPU(单卡)1.1 方法1:os.environ[CUDA_VISIBLE_DEVICES]1.2 方法2:torch.device(cuda:2)1.3 报错1:RuntimeError: CUDA error: invalid device ordinal CUDA kernel errors might be asy…...
python + Pytest + requests 的接口自动化步骤
pythonpytestrequestallureyaml接口自动化测试项目实战 开发环境准备 1. jdk 下载 Java官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装: https://blog.csdn.net/VA_AV/article/details/138…...
基于若依的ruoyi-nbcio流程管理系统修正自定义业务表单的回写bug
更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: h…...
GD32 MCU上电跌落导致启动异常如何解决
大家是否碰到过MCU上电过程中存在电源波动或者电压跌落导致MCU启动异常的问题?本视频将会为大家讲解可能的原因以及解决方法: GD32 MCU上下电复位波形如下图所示,上电过程中如果存在吃电的模块,比如wifi模块/4G模块/开启某块电路…...
安防视频监控/视频汇聚EasyCVR平台浏览器http可以播放,https不能播放,如何解决?
安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台基于云边端一体化架构,兼容性强、支持多协议接入,包括国标GB/T 28181协议、部标JT808、GA/T 1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SD…...
rust + python+ libtorch
1: 环境,ubuntu 1.1 rust : rust-1.79.0 (在官方下载linux版本后,解压文件夹,内部有个install的sh文件,可安装) 安装成功测试:cargo --version 1.2 python3.10 (直接使用apt install pytho…...
ts检验-变量的类型不会包含 undefined的几种处理方法
文章目录 1. 确认索引是否存在2. 使用非空断言(Non-null assertion)3. 使用默认值4. 类型断言(Type Assertion)综合示例 import { AxiosPromise } from axios;type ApiFunction (params: any) > AxiosPromise<any>;type…...
springboot 集成minio,启动报错
springboot 集成 minio 8.5.10 报错 *************************** APPLICATION FAILED TO START *************************** Description: An attempt was made to call a method that does not exist. The attempt was made from the following location: io.minio.S3Base.…...
bignumber.js库,解决前端小数精度问题
bignumber.js 是一个 JavaScript 库,用于执行任意精度的十进制运算,特别适合处理大数字和需要高精度运算的情况。以下是一些 bignumber.js 库中的常用方法及其简要解释: 初始化 首先,你需要安装 bignumber.js 库: n…...
Java爬虫安全策略:防止TikTok音频抓取过程中的请求被拦截
摘要 在当今互联网时代,数据采集已成为获取信息的重要手段。然而,随着反爬虫技术的不断进步,爬虫开发者面临着越来越多的挑战。本文将探讨Java爬虫在抓取TikTok音频时的安全策略,包括如何防止请求被拦截,以及如何提高…...
通过手机控制家用电器的一个程序的设计(一)
一、概述 设计一款安卓平台上的家庭智能控制软件,通过语音识别指令控制家用电器。该软件结合离线语音识别技术、红外线和WIFI通讯技术,实现对家电的智能控制,如开关机、调温度、调频道等操作。 二、主要功能模块 离线语音识别模块 功能&…...
批量提取PDF指定区域内容到 Excel , 根据PDF文件第一行文字来自动重命名v1.3-附思路和代码实现
本次文章更新内容,图片以及扫描的PDF也可以支持批量提取指定区域内容了,主要是通过截图指定区域,然后使用OCR来识别该区域的文字来实现的,所以精度可能会有点不够,但是如果是数字的话,问题不大;…...
【持续集成_05课_Linux部署SonarQube及结合开发项目部署】
一、Linux下安装SonarQube 1、安装sonarQube 前置条件:sonarQube不能使用root账号进行启动,所以需要创建普通用户及 其用户组 1)创建组 2)添加用户、组名、密码 3)CMD上传qube文件-不能传到home路径下哦 4)…...
人像视频预处理【时间裁剪+画面裁切+调整帧率】
在视频处理中,cut(裁剪)、crop(画面裁切)和fps(帧率调整)这三个操作的顺序安排对最终的视频质量和效率有重要影响。以下是一种推荐的顺序和理由,旨在提高效率和减少错误:…...
余姚加工中心编程培训排行榜单
舜龙模具数控培训执行标准:学习进度一对一、培训一人、合格一人、成就一人;舜龙自有模具工厂,全程实战教学,所学贴合岗位实操,毕业即可对接就业。1998年-2026年,舜龙28年匠心传承。舜龙模具数控培训&#x…...
4款降AI率工具实测横评:最便宜和最贵的效果差多少?
花了几百块,测了一圈,现在把结果告诉你。 降AI率工具、降AI工具保姆级测评2026、降AI这个需求,不同工具之间差距其实挺明显的,不是"随便用一个都一样"。 我的结论:嘎嘎降AI(www.aigcleaner.com…...
玩转ESP32-S3调试:GDB高级命令与自定义调试技巧大全
玩转ESP32-S3调试:GDB高级命令与自定义调试技巧大全 调试嵌入式系统时,GDB的强大功能往往被低估。对于ESP32-S3开发者来说,掌握GDB的高级调试技巧可以显著提升解决复杂问题的效率。本文将深入探讨如何利用GDB的watch命令、自定义命令、跳转执…...
PyTorch导入报错?手把手教你解决WinError 126找不到fbgemm.dll的问题(附libomp140.dll下载)
PyTorch导入报错终极解决方案:WinError 126缺失fbgemm.dll的深度修复指南 当你满怀期待地准备开始PyTorch深度学习项目时,突然遭遇"OSError: [WinError 126] 找不到指定的模块"错误,这感觉就像赛车手在起跑线上发现引擎无法启动。这…...
Scratch飞翔小鸟游戏制作教程:从零开始打造你的第一个像素风小游戏
Scratch飞翔小鸟游戏制作教程:从零开始打造你的第一个像素风小游戏 当孩子们第一次接触编程时,往往会被复杂的代码和抽象的概念吓退。而Scratch就像一扇通往创意世界的大门,用积木式的编程方式让游戏开发变得触手可及。今天,我们将…...
告别‘夜盲症’:用Python+OpenCV手把手教你实现红外与可见光图像融合(附完整代码)
实战指南:PythonOpenCV实现红外与可见光图像融合技术 夜间监控画面总是模糊不清?自动驾驶系统在低光照环境下识别率骤降?这些问题本质上都是"视觉夜盲症"的表现。今天我们将用最实用的方式,带你用Python和OpenCV构建一个…...
WPF进阶:Canvas动态图形绘制与交互实现
1. Canvas动态图形绘制基础 WPF中的Canvas就像一块无限延伸的画布,我们可以在这块画布上自由地绘制各种图形元素。与静态绘制不同,动态绘制的魅力在于图形能够根据用户操作实时变化。我刚开始接触Canvas时,最让我兴奋的就是看到鼠标移动时能实…...
Claude Code 源码泄露深度剖析,Anthropic AI 编程助手的架构全解密
2026年3月31日,整个AI开发圈被一条消息炸开了锅。安全研究员Chaofan Shou(推特账号Fried_rice)在Anthropic官方发布的npm包中,意外发现了一个暴露的.map文件,正是这个看似不起眼的文件,直接泄露了Claude Co…...
LangChain + AgentRun 浏览器沙箱极简集成指南
AgentRun Browser Sandbox 介绍 什么是 Browser Sandbox? Browser Sandbox 是 AgentRun 平台提供的云原生无头浏览器沙箱服务,基于阿里云函数计算(FC)构建。它为智能体提供了一个安全隔离的浏览器执行环境,支持通过标准的 Chrome DevTools Protocol (…...
FDTD_进阶指南:2D/3D材料建模与材料库深度解析
1. FDTD仿真中的材料建模基础 第一次接触FDTD仿真时,我被材料建模这个环节卡住了整整一周。当时想模拟一个简单的硅基光子晶体,结果连介电常数设置都搞不明白。后来才发现,材料建模是FDTD仿真的基石,就像盖房子要先打好地基一样。…...
