码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 解决使用gets(getchar)函数无法输入字符(字符串)和scanf_s函数显示缺少“scanf_s”整型参数的问题


    一.函数介绍

    gets函数:

    该函数就是读取字符串,遇到空格不会停止,直到遇到换行字符,但是也会读取最后的换行字符(这也就是我在写代码的时候遇到的一个问题)

    getchar函数:

    和gets函数类似,也会有读取换行字符的效果。

    二.缓存区

    在说明这个问题之前不得不说明一下内存中缓存区的问题,如下图:

    所以基于上述理论,在使用gets和getchar的时候要万分小心 换行字符(回车键)。

    三.具体使用

    先看下面的一串代码:

    这样看似乎是没有问题的,警告也只是因为没有加终止字符,但是请看下图!!!

    嘶,这怎么么会出现警告呢?而且显示出如下的错误

    可以看出这里显示缺少“scanf_s”的整型参数,那么如何去解决这个问题呢?

           其实我们平时使用 scanf_s 函数的时候不会注意这个问题,但是在使用该函数的时候最好加上一个数字来确定最多读取多少字节,比如这里定义了一个char类型(一个字节)的变量,所以也就是加上数字1,具体格式如下

    这样我们就解决了上述问题!!

    接下来,我们回归原问题!对于上图显示无法确认密码的问题。

           根据之前所说的理论由于getchar函数会读取掉换行字符,所以我们在 输入密码 之后继续在键盘上输入的回车键(也就是换行字符)会直接被getchar读取,从而相当于输入了一个换行字符,也就是执行了else语句里面的语句!

    改进!!如图:

    具体改进原理相信只要理解了缓存区和getchar类型函数特点的你们也可以理解!(加油,你是最棒的)

  • 相关阅读:
    Docker-compose update db password
    精华回顾:Web3 前沿创新者在 DESTINATION MOON 共话未来
    【uniapp+vue3 】页面加载时根据不同角色设置导航栏标题
    2023考研该如何复习备考,需要注意哪些问题
    微信公众号自动回复消息中添加网页链接和小程序链接
    看看CabloyJS是如何异步加载并执行go wasm模块的
    Redis篇---第十篇
    力扣学习笔记——49. 字母异位词分组
    2023二建备考第二天Day02
    Java中传地址之后重新赋值String字符串也不会发生改变,因为String具有不可变性
  • 原文地址:https://blog.csdn.net/xuanxuan_Fly/article/details/139426593
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号