0


Visual Studio 2022 中解决使用scanf报错的方法(一劳永逸)

  • 🎈个人主页:库库的里昂
  • 🎐CSDN新晋作者
  • 🎉欢迎 👍点赞✍评论⭐收藏
  • ✨其他专栏:代码小游戏、C语言初阶
  • ✨收录专栏:编程小白
  • 🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗

【前言】

  • 宝子们好呀!在上一篇文章中教大家任何安装完成****Visual Studio 2022还没有安装的朋友们可以到这里来看一下呀:Visual Studio 2022下载安装教程
  • 安装完成后,很多新手小白在使用Visual Studio 2022编译器的过程中使用到scanf后会出现报错的情况,也不知道如果改正,所以今天我就来给大家分享解决这个问题的办法。

一、scanf报错示例

我们在Visual Studio 2022里面使用scanf是不是出现过这样的错误,其实是因为Visual Studio 2022这个编译器并不是完全按照C语言的标准来的!

我们输入一个简单的程序

代码示例:

#include<stdio.h>
int main()
{
    int a = 0;
    scanf("^%d", &a);
    printf("%d", a);
    return 0;
}

结果报错:

图中显示:

'scanf': This function or variable may be unsafe. Consider using scanf_ s instead.To disable deprecation, use_CRT_SECURE_NO_WARNINGS. See online help for details.

意思就是

scanf:

  1. 此函数或变量可能不安全。请考虑改用****scanf_s。
  2. 禁用不建议使用,请使用_CRT_SECURE_NO_WARNINGS。

所以说错误出现在scanf身上,下面我们来看解决办法

二、解决使用scanf报错的方法

现在网上常见的几种解决 scanf 函数不安全问题的方法有3种,下面我来一 一介绍

解决方法1(不推荐

根据报错提示将scanf函数替换成scanf_s即可\sum \prod

代码示例:

#include<stdio.h>
int main()
{
    int a = 0;
    scanf_s("%d", &a);
    printf("%d", a);
    return 0;
}

代码结果:

我们可以看到scanf这个问题解决了,但是因为scanf_s这个函数是VS提供的,其它编译器没有。所以说,如果你在代码中使用了scanf_s函数,代码就不跨平台了(即没有了可移植性),所以并不推荐大家使用这种方法。

解决方法2(不推荐

在使用scanf函数的.c文件的第一行加入

代码示例:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
    int a = 0;
    scanf("%d", &a);
    printf("%d", a);
    return 0;
}

代码结果:

我们可以看到scanf这个问题解决了

注意:

  1. define与_CRT_SECURE_NO_WARNINGS之间要有空格,不然依旧会出错
  2. 添加的这行代码一定要放在.c文件的第一行,一定要放在.c文件的第一行,一定要放在.c文件的第一行(重要的事情说三遍)。

我们可以看到scanf这个问题解决了,但是使用这种方法,每个.c源文件都需要手动添加,比较麻烦,所以并不推荐大家使用这种方法。

解决方法3(强烈推荐)

第一步

在电脑中找到 “newc++file.cpp” 文件。

路径:C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\VCProjectItems

考虑到很多同学放的位置不一样,这里我推荐同学下载一个软件, “Everything”,这个软件可以帮助大家迅速找到你电脑中的任何文件,在许多时候都十分有用。

打开Everything,输入newc++file.cpp,再查看代码路径

第二步

**把此文件复制粘贴到桌面上,然后打开它,在里面加上 **

“#define _CRT_SECURE_NO_WARNINGS 1” ,然后保存退出。

第三步

把桌面上修改过后的文件保存下来,到 “newc++file.cpp” 文件路径下粘贴上去,然后点击“替换目标中的文件”,就大功告成了。

:把 “newc++file.cpp” 文件复制粘贴到桌面上在修改其中内容然后在替换原文件的原因是:如果我们直接修改 “newc++file.cpp” 文件中的内容,系统会向我们索要管理员权限,而上面的方法则不会。

三、效果演示(方法三)

我们任意新建一个.c文件,查看是否会有这么一段代码

OK,果然有这么一段代码,至此我们的问题就完全解决了!🎉🎉🎉

【最后】

到这里我们的Visual Studio 2022就可以正常使用了,有任何问题都可以在评论区留言或者直接私信我,我会一 一解答大家的问题,希望这篇文章对你有帮助。


本文转载自: https://blog.csdn.net/m0_68662723/article/details/132286860
版权归原作者 库库的里昂 所有, 如有侵权,请联系我们删除。

“Visual Studio 2022 中解决使用scanf报错的方法(一劳永逸)”的评论:

还没有评论