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(帧率调整)这三个操作的顺序安排对最终的视频质量和效率有重要影响。以下是一种推荐的顺序和理由,旨在提高效率和减少错误:…...
如何快速找回遗忘的压缩包密码:开源工具的完整使用指南
如何快速找回遗忘的压缩包密码:开源工具的完整使用指南 【免费下载链接】ArchivePasswordTestTool 利用7zip测试压缩包的功能 对加密压缩包进行自动化测试密码 项目地址: https://gitcode.com/gh_mirrors/ar/ArchivePasswordTestTool 你是否曾经为加密的压缩…...
跨平台AI应用开发终极指南:ChatGPT Web Midjourney Proxy移动端适配全解析
跨平台AI应用开发终极指南:ChatGPT Web Midjourney Proxy移动端适配全解析 ChatGPT Web Midjourney Proxy是一款集成ChatGPT、Midjourney和GPTs功能的一站式AI应用,本文将详细解析其移动端适配方案,帮助开发者快速掌握跨平台AI应用的开发技巧…...
深入解析TRC-20代币:从技术原理到生态布局,一篇文章讲透
深入解析TRC-20代币:从技术原理到生态布局,一篇文章讲透 引言 在波场(TRON)生态中,TRC-20 代币标准扮演着至关重要的角色,它不仅是承载如USDT等巨量稳定币的基石,更是连接DeFi、GameFi和NFT等…...
新闻传播论文降AI工具免费推荐:2026年新闻传播毕业论文AIGC超标免费4.8元达标完整方案
新闻传播论文降AI工具免费推荐:2026年新闻传播毕业论文AIGC超标免费4.8元达标完整方案 帮室友处理过新闻传播论文降AI,前前后后试了四款工具,最后固定在嘎嘎降AI(www.aigcleaner.com)。 4.8元,达标率99.2…...
告别手动摆放!UE5.2+PCG插件:程序化实现枯木生蘑菇、岩石长苔藓的生态细节
UE5.2程序化生态细节:用PCG插件实现枯木生蘑菇的魔法 当游戏场景中的枯木自动长出蘑菇,岩石表面自然覆盖苔藓时,这种生态细节的呈现往往能让虚拟世界瞬间"活"起来。传统手动摆放的方式不仅耗时耗力,更难以实现自然生长的…...
用ESP32和EC11编码器做个无极调光台灯,Arduino代码全解析(附防抖电路)
用ESP32和EC11编码器打造无极调光台灯:从硬件防抖到代码优化的完整指南 在智能家居DIY领域,无极调光台灯一直是创客们热衷的项目之一。传统旋钮调光台灯存在机械磨损、精度有限等问题,而基于ESP32和EC11编码器的数字解决方案不仅寿命更长&…...
多 Harness Control Plane 如何重塑企业云 Agent 架构
Agent 规模化部署的真正瓶颈不是模型,而是 Harness 选择与治理 在生产环境中,工程领导者决定今年要把云 Agent 推到全团队规模:代码迁移、大型特性构建、生产部署、日常运维全线自动化。可一旦真正落地,第一个卡住的永远不是模型能…...
从理论到代码:一步步拆解单纯形法在MATLAB中的核心‘旋转运算’
从理论到代码:一步步拆解单纯形法在MATLAB中的核心‘旋转运算’ 单纯形法作为线性规划领域最经典的算法之一,其理论优雅性与计算高效性在数学优化中独树一帜。然而,当我们将教科书中的表格计算转化为编程语言实现时,往往会遇到一个…...
你的RAR5密码有多安全?我用hashcat掩码攻击实测了一下
RAR5密码安全实测:从暴力破解到防御策略 当你在深夜赶工,把重要文件打包成加密压缩包发送给同事时,是否想过这个密码能撑多久?上周我给自己设置了一个看似安全的8位数字密码,结果在咖啡还没凉透前就被破解了。这不是危…...
程序员的团队协作:如何与测试、产品团队高效协作
在软件研发的复杂链条中,程序员、测试人员与产品经理如同三个紧密咬合的齿轮,任何一环的卡顿都可能导致整个项目的停滞。对于程序员而言,跳出“专注代码实现”的单一视角,建立与测试、产品团队的高效协作模式,不仅能减…...
