我初学C语言的第一步—找bug(独属于vs-scanf上的)

1.认识scanf.

1.scanf的基本用法

scanf() 函数⽤于读取⽤⼾的键盘输⼊。程序运⾏到这个语句时,会停下来,等待⽤⼾从键盘输⼊。⽤⼾输⼊数据、按下回⻋键后,
scanf() 就会处理⽤⼾的输⼊,将其存⼊变量。它的原型定义在头⽂件<stdio.h> 。
scanf() 的语法跟printf() 类似。

换言之就说 你的 scanf是让你输入的内容给到计算机进行编码,再用printf输出到编译器上(就是你呈现的效果),然后就能呈现出来.scanf的模板

上⾯⽰例中,
scanf() 的第⼀个参数%d ,表⽰⽤⼾输⼊的应该是⼀个整数。%就是⼀个占位符,%是占位符的标志,d表示第⼆个参数&x表⽰,将⽤⼾从键盘输⼊的整数存⼊变量
i 。
注意: scanf()传输的不是数值而是地址,必须在变量前加上&.意味着即将变量x的地址指向⽤⼾输⼊的值。还有就是如果这里是指针变量(例如字符串变量),那就不用即将变量&.
scanf() 它还会自动处理占位符,例如自动过滤空白字符,包括空格. 换行符。哪怕你有多少的空格都没事,另外就说回车分成多少行也不影响。
scanf	过滤作用

2.scanf的返回值

 如果`scanf()`它输出的返回值是⼀个整数,表⽰成功读取的变量个数。
 如果没有读取任何项,或者匹配失败,则返回0。如果在成功读取任何数据之前,发⽣了读取错误或者遇到读取到⽂件结尾,则返回常量EOF

EOF 全称 end of file 表示文件结束标志
成功的数量
失败的数量

2.scanf出现在vs2022上的bug

1.scanf在 “vs” 上不安全.

一般我们在使用scanf的时候,系统会提示报错,并且会让我们去使用scanf_s函数。
错误的提示

2.解决方法

如果想要这个提示失效的话,可以去使用_CRT_SECURE_NO_WARNINGS。
怎么使用呢
将_CRT_SECURE_NO_WARNINGS变成#define_CRT_SECURE_NO_WARNINGS 放在源文件的第一行
演示效果
那怎么能在文件一打开就出现这个语句呢

 #其实在vs上新建一个.c/.cpp文件的时候,其实是拷贝了一个叫new++file.cpp的文件
 #那么我们就在这个文件上加上这行话,它就会以后新建出文件就能出现这行代码。

步骤一
下载Everything,查找这个文件

在这里插入图片描述

 注意只有你下载的vs的地址,才是那是它这个文件的真正地址。

步骤二
找到文件后打开记事本,并且输入代码,保存它
在这里插入图片描述
可能出现保存不了的情况(需要你的管理员权限)
解决方法:拷贝文件到你的桌面,再去改,例如文件转移,创建两个任务管理器,继续上一步的找到那个文件的位置进行替换。

3.解释原因

这是在vs上独有的错误
会有人说为什么不用scanf_s
**因为就像我们刚刚提到这是vs独有的错误(其他的编译器不会出现),scanf_s也不是c语言标准提供,所以方便我们使用,建议使用scanf。

4.小错误

原本来说Ctrl+z,就会让scanf发生错误,
但是只有vs上需要按三次。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值