当前位置: 首页 > news >正文

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("请输入密码&#xff1a;");//输入 123456 后回车scanf("%s", passwoed);//数组名本身就是数组地址printf("请确认密码&#xff1a;Y/N");int ch getchar();if(Y ch)printf(&…...

安全运营概述

安全运营概述 概述安全运营的工作对内安全运营工作对外安全运营工作品牌建设 概述 安全是一个过程&#xff0c;安全是靠运营出来的&#xff0c;公司会不断的有新业务的变更&#xff0c;新产品的发布&#xff0c;新版本的升级&#xff0c;技术架构的升级&#xff0c;底层系统的…...

spring-cloud和spring-cloud-alibaba的关系

首先Spring Cloud 是什么&#xff1f; Spring Cloud是一系列框架的有序集合&#xff0c;它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发。Spring Cloud提供了微服务架构开发所需的多种组件和工具&#xff0c;如服务发现注册、配置中心、消息总线、负载均…...

持续集成06--Jenkins构建触发器

前言 在持续集成&#xff08;CI&#xff09;的实践中&#xff0c;构建触发器是自动化流程中不可或缺的一环。它决定了何时启动构建过程&#xff0c;从而确保代码变更能够及时地得到验证和反馈。Jenkins&#xff0c;作为业界领先的CI/CD工具&#xff0c;提供了多种构建触发器选项…...

根据视图矩阵, 恢复相机的世界空间的位置

根据视图矩阵, 恢复相机的世界空间的位置 一、方法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&#xff08;单卡&#xff09;1.1 方法1&#xff1a;os.environ[CUDA_VISIBLE_DEVICES]1.2 方法2&#xff1a;torch.device(cuda:2)1.3 报错1&#xff1a;RuntimeError: CUDA error: invalid device ordinal CUDA kernel errors might be asy…...

python + Pytest + requests 的接口自动化步骤

pythonpytestrequestallureyaml接口自动化测试项目实战 开发环境准备 1. jdk 下载 Java官网下载地址&#xff1a;http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装&#xff1a; https://blog.csdn.net/VA_AV/article/details/138…...

基于若依的ruoyi-nbcio流程管理系统修正自定义业务表单的回写bug

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; h…...

GD32 MCU上电跌落导致启动异常如何解决

大家是否碰到过MCU上电过程中存在电源波动或者电压跌落导致MCU启动异常的问题&#xff1f;本视频将会为大家讲解可能的原因以及解决方法&#xff1a; GD32 MCU上下电复位波形如下图所示&#xff0c;上电过程中如果存在吃电的模块&#xff0c;比如wifi模块/4G模块/开启某块电路…...

安防视频监控/视频汇聚EasyCVR平台浏览器http可以播放,https不能播放,如何解决?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台基于云边端一体化架构&#xff0c;兼容性强、支持多协议接入&#xff0c;包括国标GB/T 28181协议、部标JT808、GA/T 1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SD…...

rust + python+ libtorch

1: 环境&#xff0c;ubuntu 1.1 rust : rust-1.79.0 &#xff08;在官方下载linux版本后&#xff0c;解压文件夹&#xff0c;内部有个install的sh文件&#xff0c;可安装&#xff09; 安装成功测试&#xff1a;cargo --version 1.2 python3.10 (直接使用apt install pytho…...

ts检验-变量的类型不会包含 undefined的几种处理方法

文章目录 1. 确认索引是否存在2. 使用非空断言&#xff08;Non-null assertion&#xff09;3. 使用默认值4. 类型断言&#xff08;Type Assertion&#xff09;综合示例 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 库&#xff0c;用于执行任意精度的十进制运算&#xff0c;特别适合处理大数字和需要高精度运算的情况。以下是一些 bignumber.js 库中的常用方法及其简要解释&#xff1a; 初始化 首先&#xff0c;你需要安装 bignumber.js 库&#xff1a; n…...

Java爬虫安全策略:防止TikTok音频抓取过程中的请求被拦截

摘要 在当今互联网时代&#xff0c;数据采集已成为获取信息的重要手段。然而&#xff0c;随着反爬虫技术的不断进步&#xff0c;爬虫开发者面临着越来越多的挑战。本文将探讨Java爬虫在抓取TikTok音频时的安全策略&#xff0c;包括如何防止请求被拦截&#xff0c;以及如何提高…...

通过手机控制家用电器的一个程序的设计(一)

一、概述 设计一款安卓平台上的家庭智能控制软件&#xff0c;通过语音识别指令控制家用电器。该软件结合离线语音识别技术、红外线和WIFI通讯技术&#xff0c;实现对家电的智能控制&#xff0c;如开关机、调温度、调频道等操作。 二、主要功能模块 离线语音识别模块 功能&…...

批量提取PDF指定区域内容到 Excel , 根据PDF文件第一行文字来自动重命名v1.3-附思路和代码实现

本次文章更新内容&#xff0c;图片以及扫描的PDF也可以支持批量提取指定区域内容了&#xff0c;主要是通过截图指定区域&#xff0c;然后使用OCR来识别该区域的文字来实现的&#xff0c;所以精度可能会有点不够&#xff0c;但是如果是数字的话&#xff0c;问题不大&#xff1b;…...

【持续集成_05课_Linux部署SonarQube及结合开发项目部署】

一、Linux下安装SonarQube 1、安装sonarQube 前置条件&#xff1a;sonarQube不能使用root账号进行启动&#xff0c;所以需要创建普通用户及 其用户组 1&#xff09;创建组 2&#xff09;添加用户、组名、密码 3&#xff09;CMD上传qube文件-不能传到home路径下哦 4&#xff09…...

人像视频预处理【时间裁剪+画面裁切+调整帧率】

在视频处理中&#xff0c;cut&#xff08;裁剪&#xff09;、crop&#xff08;画面裁切&#xff09;和fps&#xff08;帧率调整&#xff09;这三个操作的顺序安排对最终的视频质量和效率有重要影响。以下是一种推荐的顺序和理由&#xff0c;旨在提高效率和减少错误&#xff1a;…...

余姚加工中心编程培训排行榜单

舜龙模具数控培训执行标准&#xff1a;学习进度一对一、培训一人、合格一人、成就一人&#xff1b;舜龙自有模具工厂&#xff0c;全程实战教学&#xff0c;所学贴合岗位实操&#xff0c;毕业即可对接就业。1998年-2026年&#xff0c;舜龙28年匠心传承。舜龙模具数控培训&#x…...

4款降AI率工具实测横评:最便宜和最贵的效果差多少?

花了几百块&#xff0c;测了一圈&#xff0c;现在把结果告诉你。 降AI率工具、降AI工具保姆级测评2026、降AI这个需求&#xff0c;不同工具之间差距其实挺明显的&#xff0c;不是"随便用一个都一样"。 我的结论&#xff1a;嘎嘎降AI&#xff08;www.aigcleaner.com…...

玩转ESP32-S3调试:GDB高级命令与自定义调试技巧大全

玩转ESP32-S3调试&#xff1a;GDB高级命令与自定义调试技巧大全 调试嵌入式系统时&#xff0c;GDB的强大功能往往被低估。对于ESP32-S3开发者来说&#xff0c;掌握GDB的高级调试技巧可以显著提升解决复杂问题的效率。本文将深入探讨如何利用GDB的watch命令、自定义命令、跳转执…...

PyTorch导入报错?手把手教你解决WinError 126找不到fbgemm.dll的问题(附libomp140.dll下载)

PyTorch导入报错终极解决方案&#xff1a;WinError 126缺失fbgemm.dll的深度修复指南 当你满怀期待地准备开始PyTorch深度学习项目时&#xff0c;突然遭遇"OSError: [WinError 126] 找不到指定的模块"错误&#xff0c;这感觉就像赛车手在起跑线上发现引擎无法启动。这…...

Scratch飞翔小鸟游戏制作教程:从零开始打造你的第一个像素风小游戏

Scratch飞翔小鸟游戏制作教程&#xff1a;从零开始打造你的第一个像素风小游戏 当孩子们第一次接触编程时&#xff0c;往往会被复杂的代码和抽象的概念吓退。而Scratch就像一扇通往创意世界的大门&#xff0c;用积木式的编程方式让游戏开发变得触手可及。今天&#xff0c;我们将…...

告别‘夜盲症’:用Python+OpenCV手把手教你实现红外与可见光图像融合(附完整代码)

实战指南&#xff1a;PythonOpenCV实现红外与可见光图像融合技术 夜间监控画面总是模糊不清&#xff1f;自动驾驶系统在低光照环境下识别率骤降&#xff1f;这些问题本质上都是"视觉夜盲症"的表现。今天我们将用最实用的方式&#xff0c;带你用Python和OpenCV构建一个…...

WPF进阶:Canvas动态图形绘制与交互实现

1. Canvas动态图形绘制基础 WPF中的Canvas就像一块无限延伸的画布&#xff0c;我们可以在这块画布上自由地绘制各种图形元素。与静态绘制不同&#xff0c;动态绘制的魅力在于图形能够根据用户操作实时变化。我刚开始接触Canvas时&#xff0c;最让我兴奋的就是看到鼠标移动时能实…...

Claude Code 源码泄露深度剖析,Anthropic AI 编程助手的架构全解密

2026年3月31日&#xff0c;整个AI开发圈被一条消息炸开了锅。安全研究员Chaofan Shou&#xff08;推特账号Fried_rice&#xff09;在Anthropic官方发布的npm包中&#xff0c;意外发现了一个暴露的.map文件&#xff0c;正是这个看似不起眼的文件&#xff0c;直接泄露了Claude Co…...

LangChain + AgentRun 浏览器沙箱极简集成指南

AgentRun Browser Sandbox 介绍 什么是 Browser Sandbox? Browser Sandbox 是 AgentRun 平台提供的云原生无头浏览器沙箱服务,基于阿里云函数计算&#xff08;FC&#xff09;构建。它为智能体提供了一个安全隔离的浏览器执行环境,支持通过标准的 Chrome DevTools Protocol (…...

FDTD_进阶指南:2D/3D材料建模与材料库深度解析

1. FDTD仿真中的材料建模基础 第一次接触FDTD仿真时&#xff0c;我被材料建模这个环节卡住了整整一周。当时想模拟一个简单的硅基光子晶体&#xff0c;结果连介电常数设置都搞不明白。后来才发现&#xff0c;材料建模是FDTD仿真的基石&#xff0c;就像盖房子要先打好地基一样。…...