scanf_s输入字符/字符串vs抛异常

2023-05-16

写C语言作业的时候,我使用visual studio2022的环境,在读取输入字符时总是抛出异常。
原始代码为:

#include <stdio.h>
int main() {
	int num1[2], num2[2];char opt;
	printf("请输入计算式:");
	scanf_s("%d/%d%c%d/%d", &num1[0], &num1[1], &opt, &num2[0], &num2[1]);
	printf("%c", opt);
	system("pause");
}

产生此问题的原因在于vs的scanf_s函数非常严谨,在读取字符或字符串时一定要指定字符长度才行。
修改代码为:

#include <stdio.h>
#include <stdlib.h>
int main() {
	int num1[2], num2[2]; char opt;
	printf("请输入计算式:");
	scanf_s("%d/%d%c%d/%d", &num1[0], &num1[1], &opt,1, &num2[0], &num2[1]);
	printf("%c", opt);
	system("pause");

即在字符取地址后面加上字符长度即可。

再举个例子,如果要读取字符串,则需要这么写:

char str[20];
scanf_s("%s",&str,20);

这确实挺费解的哈,字符串指定长度我还能理解,可是字符长度一定是1,为啥也得加个1呢,挺奇怪的哈哈哈。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

scanf_s输入字符/字符串vs抛异常 的相关文章

  • 认知智能十大黑科技 中国原生 科技自强 道翰天琼

  • 如何将线程/进程在一个/多个CPU核上运行

    如何将线程 进程在一个 多个CPU核上运行 设置线程 进程与CPU的亲缘性 xff0c 就是将线程 进程与CPU核进行绑定起来 实现方法 xff1a 设置线程与指定cpu核绑定 xff1a SetThreadAffinityMask Get
  • STM32F103ZET6驱动57闭环步进电机(连线+代码)

    一 设备 xff1a 1 STM32F103开发板 xff08 普中F103的板子 xff09 2 57闭环电机带驱动 3 24V 3A的直流电源 xff0c 用于给电机驱动供电 简单说明 xff1a 使用Keil5编程 xff0c 主要使
  • win10 VS2019环境编译OpenCV(带contrib库Aruco)

    目录 1 前期准备2 Cmake编译配置步骤1 选择source与build文件夹路径 步骤2 点击Configure按钮 xff0c 选择编译配置 步骤3 编译配置 步骤4 点击Finish开始获取配置信息 步骤5 点击Generate编
  • 2020-11-12

    一 什么是PID PID控制器是工业过程控制中广泛采用的一种控制算法 xff0c 其特点是结构简单灵活 技术成熟 适应性强 P I D分别为比例 xff08 Proportion xff09 积分 xff08 Integral xff09
  • springboot整合springsecurity,设置自定义页面后没有效果,运行还是一直跳转到默认的页面

    在做springboot整合springsecurity时 xff0c 设置也自定义的登陆页面一直不起作用 xff0c 运行时还是会跳转到原始的页面上去 在设置自定义登陆页面后 xff0c 运行项目还是会生成默认的密码 生成的默认密码 xf
  • vue插件瀑布流vue-masonry(带源码)

    目录 插件官网下载全局挂载main js中 属性实例效果最后 插件官网 官网1 官网2 下载 npm install vue masonry save 全局挂载 main js中 span class token selector impo
  • k8s 1.23.10 动态POD扩缩容(HPA )

    目录 为什么要自动扩缩容 xff1f 再K8S中扩容分为两种 xff1a 一 Node层面 xff1a 二 Pods层面 xff1a 自动扩缩容的方案有哪些 Kubernetes HPA xff08 Horizontal Pod Autos
  • STM32CubeMX——FREERTOS学习:消息队列Queue

    什么是队列 队列 xff0c 也叫消息队列 xff0c 就是把消息一条一条的排个队 比如创建了一个消息队列 xff0c 这个消息队列可以存10条消息 任务A可以往里存消息 xff0c 任务B也可以往里存 这个存的消息是要讲先来后到的 xff
  • 笔记本电脑控制树莓派,树莓派获取IP地址,连接笔记本电脑屏幕

    树莓派使用需要连接显示屏配备键盘和鼠标 xff0c 为了方便实用可以直接连接到自己的笔记本电脑上 xff0c 主要步骤如下 xff1a 第一步 xff1a 获取树莓派IP地址 首先进行树莓派的系统烧录 xff0c 烧录过程可以查看网上教程
  • c++类和对象---继承

    继承是面向对象三大特性之一 1 继承的基本语法 语法 xff1a class 子类名 xff1a 继承方式 父类名 子类 也叫 派生类 父类 也叫 基类 class basepage public void header cout lt l
  • Dockerfile详解

    Dockerfile 文章目录 基本结构指令详解FROMRUNLABEL MAINTAINERCOPYADDCMDENTRYPOINTENVARGVOLUMEEXPOSEWORKDIRUSERHEALTHCHECKONBUILD 创建镜像上
  • 接口和实现类

    接口 生活中有很多接口 xff0c 例如 xff1a USB接口 电源接口 Type c接口等等 xff1b 一个接口 xff0c 对应一个接口相应的设备 程序中的接口 xff1a 一种标准 xff0c 一种规范 xff0c 一系列抽象方法
  • 程序员必备的基本算法:递归详解

    前言 递归是一种非常重要的算法思想 xff0c 无论你是前端开发 xff0c 还是后端开发 xff0c 都需要掌握它 在日常工作中 xff0c 统计文件夹大小 xff0c 解析xml文件等等 xff0c 都需要用到递归算法 它太基础太重要了
  • lwip 基于select方式实现的tcp简易服务器

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • 我是歌手Java实现

    span class token comment AbstractSinger java span span class token keyword package span span class token namespace cn sp
  • 【亲测有效】树莓派4B安装realsense(Intel深度摄像头)

    第一步尝试通过pip下载 xff0c 发现不能下载 pip span class token function install span pyrealsense2 pip中的pyrealsense2只能下载给X86结构的计算机 xff0c
  • 驼峰规则

    驼峰规则包含两种 xff1a 大驼峰和小驼峰 大驼峰 指我们在命名的时候往往采用第一个字母大写 xff0c 比如Animal 这种命名形式常用于类名或函数名 小驼峰 指我们在命名是往往采用中间字母大写 xff0c 比如setName 这种命
  • 八皇后问题(回溯法)

    目录 什么是八皇后 八皇后问题怎么解决 xff1f 什么是回溯法 回溯法的模板 八皇后问题的核心代码 判断皇后位置是否可行 总体实现代码 每日一句 xff1a 种一棵树的最好时间是十年前 xff0c 其次是现在 什么是八皇后 八皇后问题 x
  • 淘宝搜索页面爬取数据

    淘宝搜索页面爬取数据 1 首先导入库 span class token keyword import span requests span class token keyword import span json 2 主函数 span cl

随机推荐

  • Android进程保活 --- 守护进程(code)

    1 守护进程 xff1a 一个在后台运行并且不受任何终端控制的进程 可以用来给其他应用拉起 xff0c 保活 import android app Service import android content ComponentName i
  • 基于树莓派的追光系统(python)

    目录 前言 一 材料 二 硬件 控制逻辑 1 主设备的准备 1 启用树莓派的i2c设备 2 安装python smbus 2 从设备的准备 1 BH1750 2 L298N驱动芯片 3 云台的准备 1 增加电机固定模块 2 增加bh1750
  • pytorch优化器(optimizer)中params参数详细介绍

    这里先给出使用的一个小型网络 xff08 自己瞎定义的一个网络 xff09 xff0c 后面使用的model就是这里定义的一个小型的网络 xff1a 定义网络 class Test nn Module def init self super
  • [下面的框架可能不正确和/或缺失,没有为 ntdll.dll 加载符号]

    96 96 96 cpp 在这里插入代码片 之前老师出现这些问题 之后我改了realse模式 依旧不行 我经过一夜的思考 xff0c 发现这个和我的代码 没有关系 我修改了程序内部的一些char 然后重新启动realse 就没有这个了 在这
  • 操作系统-处理机调度、进程调度的时机、切换与过程、方式、调度算法的评价指标、调度算法

    文章目录 基本概念三个层次高级调度 作业调度 中级调度 内存调度 低级调度 进程调度 三层调度的联系 对比补充知识时机什么时候需要进程调度什么时候不能进行进程调度临界区与内核程序临界区 切换与过程 34 狭义的调度 34 与 34 切换 3
  • QGC地面站配置PX4Flow光流传感器

    打开地面站 xff0c 进入到参数设置里面 xff0c 查询 EKF2 AID MASK xff0c 在px4中使能px4flow xff0c 设置为2即关闭GPS打开光流 2 查询 SENS EN MB12XX 在px4中使能px4flo
  • Git如何创建一条分支,并且进行分支的切换

    核心指令 xff1a git checkout xx 下面讲解怎么创建 可以看到 xff0c 我们当前的处于master分支 输入 git branch dev xff08 创建一个dev分支 xff09 这样已经是创建成功了 可以输入gi
  • Bosch SMI810 IMU传感器芯片驱动

    Bosch SMI810 IMU传感器芯片驱动 文章目录 Bosch SMI810 IMU传感器芯片驱动一 总体特点二 SPI通信三 数据处理四 寄存器设置和代码编写 一 总体特点 1 smi8xx家族的传感器分为 xff0c 陀螺仪 43
  • 村田 IMU SCC2000系列芯片驱动

    村田 IMU SCC2000系列芯片驱动 文章目录 村田 IMU SCC2000系列芯片驱动一 总体特点二 启动时序和逻辑三 SPI通信和数据读取四 数据处理 一 总体特点 1 本次具体的型号是村田SCC2130系 xff0c IMU有1轴
  • Vue模板的使用,vue中使用js表达式

    1 v 属性 使用方法和需要注意的点 span class token tag span class token tag span class token punctuation lt span template span span cla
  • ROS多机通信主机接收不到从机的消息

    关一下防火墙试试 xff1a sudo ufw disable 另 xff1a 检查防火墙是否关闭 xff1a sudo ufw status 另 xff1a 其实ROS多机通信只要设置好ROS MASTER URL和ROS HOSTNAM
  • 单个象棋棋子图片!png

    之前做完项目直接全删了 xff0c 结果帅竟然忘了上传 这回重新扣个帅效果差了好多 xff0c 大家凑合用吧
  • numpy中的cov以及参数rowvar

    numpy中计算协方差利用cov方法 xff0c 如何计算协方差 xff1f 利用这个公式 xff0c 可以求得两个矩阵的协方差 xff0c 举个例子 xff1a 这里 X Y X Y X Y 分别对应着矩阵
  • size.width>0 && size.height>0 in function ‘cv::imshow‘

    遇到报错 xff1a cv2 error OpenCV 3 4 2 C Miniconda3 conda bld opencv suite 1534379934306 work modules highgui src window cpp
  • windows安装ubuntu双系统

    因为要学习机器人 xff0c 老师要求安装ubuntu和ros系统 xff0c 安装第一次踩了雷不太成功 xff0c 第二次安装成功了ubuntu21 04但没有对应的ros系统 xff0c 因此在此向大家安利 安装ubuntu18 04比
  • pytorch

    pytorch基础 1 Tensor数据类型 创建tensor时 xff0c 默认类型为torch FloatTensor xff08 32位浮点 xff09 a span class token operator 61 span torc
  • 死锁的基本介绍

    文章目录 一 死锁是什么 xff1f 二 死锁产生的原因1 死锁产生的必要条件2 产生原因 xff08 1 xff09 资源竞争 xff08 2 xff09 可剥夺资源和不可剥夺资源 xff08 3 xff09 竞争不可剥夺资源 xff08
  • linux安装qq

    linux版QQ安装 xff1a span class token function wget span http sqimg qq com mqq img linuxQQ linuxqq 2 0 0 b2 1089 x86 64 sh s
  • catkin_make报错

    catkin make报错 xff1a CMake Error at CMakeLists txt 1 Parse error Expected a span class token builtin class name command s
  • scanf_s输入字符/字符串vs抛异常

    写C语言作业的时候 xff0c 我使用visual studio2022的环境 xff0c 在读取输入字符时总是抛出异常 原始代码为 xff1a span class token macro property span class toke