一.为什么visual studio用scanf_s而不是scanf作为输入函数

其主要原因是scanf存在越界访问内存问题

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{char ch[5];scanf("%s", ch);  //输入abcdprintf("%s\n", ch);  //正常输出abcdscanf("%s", ch);  //输入abcdefgprintf("%s\n", ch);  //此时已经报错,报错原因是输入时超过原数组的大小导致数组越界//访问到不属于该数组的范围
}

二、如何解决该问题

1.将scanf 修改成 scanf_s,使用visual code编译器提供的函数,可解决该问题

2.采用宏定义

方法一

#define _CRT_SECURE_NO_WARNINGS 1

        必须注意,这段代码必须添加到第一行

但是下次还需要在新建源码中继续添加该字段


方法二

下面介绍一种彻底解决该方法的方式

最终目的是修改:

如果读者能找到,直接省略前几步

【C语言】scanf函数报错相关推荐

  1. linux的gets函数,Linux 下使用C语言 gets()函数报错

    在Linux下,使用 gets(cmd) 函数报错:warning: the 'gets' function is dangerous and should not be used. 解决办法:采用 ...

  2. VS使用scanf函数报错解决方法

    VS使用scanf函数报错解决方法 首先来看一段很简单的C语言代码 #include<stdio.h> int main(void) {char s[10];scanf("%s& ...

  3. 解决VS2017中使用scanf函数报错的问题

    解决VS2017中使用scanf函数报错的问题 参考文章: (1)解决VS2017中使用scanf函数报错的问题 (2)https://www.cnblogs.com/tanghaiyong/p/11 ...

  4. 【教程】如何解决vs编译器scanf函数报错问题

    如何解决vs编译器函数报错问题 问题来源 解决方法 1.使用_S下标 方法一的致命缺点 2.使用防报错语句 方法二的缺点? 如何在vs编译器里加上默认语句 结语 问题来源 当我们使用vs编译器编译c语 ...

  5. 【VS2019编辑器第一行默认添加:#define _CRT_SECURE_NO_WARNINGS 1\使用scanf函数报错 解决方案\创建源文件第一行不出现#define _CRT_SECURE】

    前言 当使用 scanf函数时编译器会出现报错. 因为scanf_s 函数才是vs编译器所提供的,但其本身不是C语言标准规定的(scanf).所以使用scanf编译器会报错. 解决方法: 将 #def ...

  6. c语言 release函数报错,91-100

    注:以下问题的部分解析并非全部是自己原创,只是为了便于以后复习,直接粘贴总结的答案,主要来源是七月在线中的解析部分.https://www.julyedu.com/question/selectAna ...

  7. VS2015 scanf 函数报错 error C4996: 'scanf'

    错误提示:error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. ...

  8. linux c语言 休眠函数,c语言sleep函数报错

    关于sleep()函数在windows系统和linux系统下是两个不同的函数,差别较大,但功能是相同的,都是将进程挂起一段时间. windows系统下函数名为Sleep(),其函数原型为: #incl ...

  9. c语言scanf函数计算乘积,C语言Scanf函数

    C语言的scanf函数 一.变量的内存分析 (一)字节与地址 ①. 内存以字节为单位 每个字节都有自己的内存地址,根据地址就可以找到该字节.整个内存相当于一整个酒店,而酒店以房间为单位,在这里每个房间 ...

最新文章

  1. android Canvas 最基础知识总结
  2. Java中如何锁文件
  3. lua require dofile loadfile区别
  4. java处理文件路径windows与linux兼容问题
  5. C语言库自带的二分查找函数bsearch函数的使用示例
  6. 如何使用selenium webdriver来判断一个网页加载完毕
  7. 【Python】comtypes模块Windows环境下使用批量转换成PDF文件
  8. 架设WIN32汇编程序的开发环境
  9. JavaScript中对于函数的形参实参个数匹配是如何做的?
  10. C++17 部分实用特性
  11. python数组(矩阵)乘法(点乘、叉乘)
  12. 调试M2det算法train自己的数据(VOC2007)
  13. SpringBoot更换Apache Log4 2.15.0-rc2j漏洞补丁
  14. 嵌入式软件分层及目录结构设计规范
  15. Job for network.service failed because the control process exited with error code. See “systemctl st
  16. Gradient Boosting算法简介(有python列子)
  17. 双u服务器装win7系统安装,u深度一键u盘装原版win7 安装系统详细使用教程
  18. html穿越火线游戏代码,CF代码大全.doc
  19. [ASP.NET]web实现用FTP上传、下载文件(附源码)
  20. 微信另外一种分享(图片 + 文字) 到朋友圈

热门文章

  1. 用dd测试SD卡的读写速度
  2. 手机的键盘是这样的: 1 2 abc 3 def 4 ghi 5 jkl 6 mno 7 pqrs 8 tuv 9 wxyz * 0 #
  3. linux磁盘阵列数据恢复,恢复天使免费数据恢复软件
  4. MIT Technology Review 2020年“十大突破性技术”解读 【中国科学基金】2020年第3期发布...
  5. PIPE接口基本描述
  6. 大数据学习路线(包含全套视频教程)
  7. 机器学习1-线性模型及多分类
  8. 自动化测试实施的前提条件
  9. Shrinkage: I was in the pool
  10. 百度智能小程序注册流程