juhugufudu 发表于 2019-8-10 13:30:11

VS2019的莫名的bug

#include<stdio.h>
int main() {
    int scores;
    int sum = 0;
    for (int i = 0; i < 10; i++)
    {
      scanf("%d",&scores);
      sum += scores;
    }
    for (int i = 0; i < 10; i++)
    {
      printf("第%d位同学的成绩为:%d\n",i+1,scores);
    }
    return 0;
}
我在VS2019编译时,一直报错..
而且还是这样的..
错误        C4996       '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.        HelloWorld        C:\Users\全栈开发者\source\repos\HelloWorld\HelloWorld\01数组.c        8       



cplus 发表于 2019-8-10 13:30:12

更改预处理定义:

      项目->属性->配置属性->C/C++ -> 预处理器 -> 预处理器定义,增加:

            _CRT_SECURE_NO_DEPRECATE

Krant5 发表于 2019-8-10 13:47:22

以前只是个警告,
再代码上 定义这个宏 : _CRT_SECURE_NO_WARNINGS
可以解决

迷雾少年 发表于 2019-8-10 13:50:34

#param warning(disable:4996)

juhugufudu 发表于 2019-8-10 13:52:10

Krant5 发表于 2019-8-10 13:47
以前只是个警告,
再代码上 定义这个宏 : _CRT_SECURE_NO_WARNINGS
可以解决

到底要怎末办?我的还是不行

浅晓寒 发表于 2019-8-10 14:21:33

scanf 改成scanf_s

迷雾少年 发表于 2019-8-10 15:46:48

juhugufudu 发表于 2019-8-10 13:52
到底要怎末办?我的还是不行

#include 后面随便找个位置添加

#param warning(disable:4996)

suib 发表于 2019-8-10 17:12:26

试了一下,不要在FOR()里面定义就没有问题了

Mondayisgood 发表于 2019-8-12 22:59:24

项目->属性->配置属性->C/C++ -> 常规 -> SDL检查设置成否
搞定

df3379 发表于 2019-8-13 09:07:57

9楼正解
页: [1]
查看完整版本: VS2019的莫名的bug