1??_CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a;
printf("请输入一个数字:");
scanf("%d", &a);
printf("这个数字的两倍是:%d", 2 * a);
return 0;
}
1.1错误
1.2.1解决办法 1
声明_CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a;
printf("请输入一个数字:");
scanf("%d", &a);
printf("这个数字的两倍是:%d", 2 * a);
return 0;
}
注意此声明要写到#include的前面,否则也会报错
1.2.2解决办法2
将scanf替换为scanf_s
#include<stdio.h>
int main()
{
int a;
printf("请输入一个数字:");
scanf_s("%d", &a);
printf("这个数字的两倍是:%d", 2 * a);
return 0;
}
1.2.3解决办法3
如果源代码有许多的话,建议对项目进行配置。
- 项目
- 属性
- C/C++
- 预处理器
- 预处理器定义(按键)
- 编辑
- 宏
- (把宏添加进去,确定)
这样就可以直接使用scanf了。
1.3原因?
如果是最开始一直用DEV-C++编程的小伙伴转用VS的时候肯定会很蒙,为什么一个如此简单的程序都会报错?不对呀,编译没问题,没有语法错误,运行出错,那应该是语义有问题。
如果把报错的英文翻译一下,就知道编译器不直接支持scanf这样的不安全函数。
|