正确实现scanf函数
在上一节中,使用scanf函数,会出现一个错误信息,如图

这里是由于我们这里使用scanf函数不安全,之后推荐我们使用scanf_s函数。这里我们需要注意:
- scanf_s函数不等同于 scanf函数,在使用上会有差异
- scanf_s函数不是C语言的函数,只是在VS这个集成开发环境上提供的函数,如果我们使用了scanf_s函数,会在一些编译器上代码不能编译,存在代码跨平台性问题
解决方法:
第一种:继续看这个图片后面,我们可以定义_CRT_SECURE_NO_WARNINGS,就可以使用scanf函数了,直接在代码第一行输入#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//scanf函数
//输入数使用scanf函数,输出数使用printf函数
int main()
{
int score = 0;//初始化
printf("请输入成绩:");
scanf("%d", &score);
//scanf("%d", score);这样是不能直接写的,需要加上&
// 因为scanf函数输入的值是放在一个地址上的,所以需要一个地址
//&是取地址符号,&score是取score变量的地址
printf("成绩是:%d\n",score);
return 0;
}
但是这个在新建一个文件时,需要自己再去定义,麻烦!!!因此重点说明第二种方法
第二种方法:新建的文件上,直接存在这个定义内容
- 先说明一下这个编译器原理:在VS上,新建一个文件其实是拷贝了一个叫
newc++file.cpp文件,之后才新建的,因此我们只需找到这个文件,在里面加上#define _CRT_SECURE_NO_WARNINGS,那么新建出的文件就直接存在该定义内容 - 如何找该文件?
- 这里我们需要下载一个everything的软件,辅助我们找到
newc++file.cpp文件

红框中就是我们需要找的newc++file.cpp文件存放位置,点击右键,打开路径,使用记事本打开,复制进去#define _CRT_SECURE_NO_WARNINGS ,保存
但这里有可能会出现一个弹窗,不让保存,那么接下这样操作!!!
将该文件移到桌面上,在桌面上用记事本方式打开该文件,复制进去定义内容,保存,这里就会保存成功,再将该文件移到上面图片中红框位置,替换文件,这样就操作完成了
我们在VS上新建一个.c文件,就会发现第一行自动出现该定义
10万+

被折叠的 条评论
为什么被折叠?



