scanf函数问题解决

正确实现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个

红包金额最低5元

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

抵扣说明:

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

余额充值