自从用VisualStudio2015之后就不愿再去使用Visual C++6.0了,但是最近在学数据结构图时,总是在字符的连续输入遇到困惑.

使用VS都知道,要用scanf_s对键盘读入数据。

scanf("%c,%c",&a,&b);可以对字符连续输入;

如果是循环输入,在下添加getchar();这样一个语句吞噬掉输入时的回车即可;

但是同样用for(int i=0;i<10;i++){

scanf_s("%c,%c",&a,&b);

getchar();

}

确达不到相同的结果,debug时老是读入一个‘ -52 ?’什么的一个不知道是什么的鬼东西,使得下次输入前就读入这样一个无效数据。如:出现下面类似的样子,后面直接一步调到低了。

我一直以为是关于没有吞噬掉回车的问题,认真看了对scanf_s输入后,事实并不是这样的,scanf_s与scanf的还是有区别的,

毕竟是更新之后的版本。相比scanf_s安全,因为 scanf_s() 是针对“ scanf()在读取字符串时不检查边界,可能会造成内存泄

露”,scanf_s()用于读取字符串时,必须提供一个数字以表明最多读取多少位字符,以防止溢出。

因此

for(int i=0;i<10;i++){

scanf_s("%c,%c",&a,1,&b,1);

getchar();

}

这样就没有问题了。

scanf与scanf_s的区别相关推荐

  1. 浅谈scanf和scanf_s的区别,以及应对VS返回值被忽略的报错问题。

    文章目录 前言 一.scanf和scanf_s是什么? 二.分别分析 1.scanf 2.scanf_s 3其实scanf和scanf_s在使用时只会在vs中有不同. 前言 随着IT行业的火爆,不少初 ...

  2. scanf() 与 scanf_s() 的区别

    scanf() 函数 : scanf() 函数是格式化输入函数,它从标准输入设备(键盘) 读取输入的信息. 其调用格式为:scanf("<格式化字符串>",<地址 ...

  3. <C语言学习>scanf和scanf_s的区别

    scanf()不会检查输入的边界,因此输入的数据可能会溢出,导致程序出错 scanf_s()更安全,其会检查输入的边界 如: char ch[6]; scanf("%s",ch); ...

  4. scanf()与scanf_s()的区别

    scanf() 函数 : scanf() 函数是格式化输入函数,它从标准输入设备(键盘) 读取输入的信息. 其调用格式为:scanf("<格式化字符串>",<地址 ...

  5. C语言中,scanf与scanf_s的简单区别

    C语言中,scanf与scanf_s的简单区别 scanf()不会检查输入边界,可能造成数据溢出,scanf_s()会进行边界检查. 如name[5], scanf("%s",na ...

  6. c语言scanf错误c4996,C语言杂谈(一)scanf()、scanf_s()与错误 C4996

    错误 C4996 初学C语言时,第一个接触到的I/O函数便是scanf()了.但在高版本的 Visual Studio (包括但不限于2015.2013.2012)编译代码时,却会出现意想不到的错误. ...

  7. c语言scanf错误c4996,C语言常见错误杂谈(一)scanf()、scanf_s()与错误 C4996与解决方法...

    错误 C4996 初学C语言时,第一个接触到的I/O函数便是scanf()了.但在高版本的 Visual Studio (包括但不限于2015.2013.2012)编译代码时,却会出现意想不到的错误. ...

  8. c语言scanf错误c4996,C语言杂谈(一)scanf()、scanf_s()与错误 C4996(示例代码)

    错误 C4996 初学C语言时,第一个接触到的I/O函数便是scanf()了.但在高版本的 Visual Studio (包括但不限于2015.2013.2012)编译代码时,却会出现意想不到的错误. ...

  9. scanf与scanf_s区别

    最近有这么一篇作业,输入十个等长字符串并为其排序,本来是很简单的一道题,结果运行时却疯狂越界,百度了之后才知道是scanf的锅,于是决定查查其区别. 最大区别为scanf()在读取数据时不检查边界,所 ...

最新文章

  1. 【 MATLAB 】程序流程控制语句格式简记
  2. KeyMob移动广告聚合平台:类似于房地产中介
  3. php ar 模式,AR技术也被称为什么技术
  4. Thinkphp 逻辑与,逻辑或的复合查询
  5. 四十三、Linux磁盘管理和Shell编程
  6. 在中国做操作系统研发 20 年是种什么体验?
  7. 创建Hbase Hive外部表报错: Unable to determine ZooKeeper ensemble
  8. c语言限制字符数,C语言中“不受限制”的字符串函数总结.pdf
  9. word2003如何设置护眼模式_ERP系统上线,如何设置采购收货的模式,提升企业的采购效率...
  10. 你该知道的深度强化学习相关知识
  11. 服务器搭建-Linux基础知识
  12. 【codevs1026】逃跑的拉尔夫,广搜的胜利
  13. 【java】java String 源码
  14. Cisco Packet Tracer路由器的基本配置
  15. 建筑业房地产管理系统
  16. 深入解析锂电池保护电路工作原理
  17. tp点一共有多少_dnf人家为什么比你多好几点tp点?原因终于找到啦
  18. Apple MFi认证是什么意思?
  19. DNS传输协议解析!pcap报文中的域名获取
  20. CSS3使用一个盒子实现太极图案

热门文章

  1. DAS\NAS\SAN存储
  2. THREE.JS 使用CUBECAMERA相机创建反光效果
  3. 前端基础(二):CSS
  4. 一个送给另一半的情侣专属微信小程序
  5. 网络摄像头第二篇(远程服务端)
  6. 佛法摄持下的技术人生
  7. 威威猫系列故事——吃鸡腿
  8. 利用MHT类型,免杀宏病毒
  9. Custom Elements详解
  10. mysql官方下载地址