15、VS2013编写程序时scanf出现的编译错误

原创 2015年07月11日 09:06:52

今天随手练习一下桶排序算法,很简单如下:

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>

//#define _CRT_SECURE_NO_DEPRECATE

int _tmain(int argc, _TCHAR* argv[])
{
int a[11];
int i, j, input;

for (i = 0; i < 10; i++)
{
a[i] = 0;
}

printf("请输入5个整数,输入的整数范围在0-10之间\n");
for (i = 0; i < 5; i++)//这里这输入了5个数,练习一下
{
scanf("%d", &input);
if (input > 0 && input < 10){
a[input]++;
}
else{
printf("please input correct number!\n");
break;
}
}

for (i = 0; i < 10; i++)
{
for (j = 1; j < a[i]; j++)//出现几次打印几次
printf("%d",i);
}
system("pause");//用于暂留显示

return 0;
}

却发现了一个问题:错误 1 error 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. c:\users\sheng\documents\visual studio 2013\project

原因是Visual C++ 2012 使用了更加安全的 run-time library routines 。新的Security CRT functions(就是那些带有“_s”后缀的函数)解决方法如下:

1. 更改预处理定义:  

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

网上其他方法就不推荐了,这个修改后就一劳永逸了。

VS2013编译错误:-D_SCL_SECURE_NO_WARNINGS解决方案

在用VS2013测试string::copy()时发生编译错误,错误提示如下:错误 2 error C4996: 'std::basic_string::copy': Function call...

vc6.0+DDK(xp-2600)游戏手柄按键信息获取程序出现的编译错误

最近帮一个师兄做游戏手柄按键信息获取的小程序,用到了winxp_ddk,版本是2600的,在网上找了半天才找到一个安装文件,安装后,在vc中设置include和lib的目录,分别是"D:\WINDDK...

cocos2d-x 在IDE vs2010 出现error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)编译错误解决方案

cocos2d-x 较高版本用到的IDE平台 vs2010 , 安装了vs2010旗舰版. 打开运行cocos2d-x-2.2.0中的HelloCpp项目,居然报错: error C2146:...
  • ljf551
  • ljf551
  • 2013年11月14日 10:04
  • 1960

图文说明 Visual Studio 2013/2015 编译 libpqxx 步骤以及常见编译错误

编译步骤(x86版本) 1.下载并安装postgresql,点击进入下载地址。下载界面如下: 目前最新版本是9.5.1,我下载了 Win x...
  • Don211
  • Don211
  • 2016年06月24日 18:01
  • 1043

ubuntu 客户机安装VMware tools时出现编译错误,无法与主机共享文件

在vmware的Ubuntu客户机中安装vmware tools时,如果vmware版本较低的话,会遇到编译错误的情况,可以照此解决。...
  • jackydi
  • jackydi
  • 2016年10月13日 15:36
  • 2180

编程题,1) 有以下一组字符串 2)13-1、13-108、13-18、100-11、10-15、14-2、14-1 3)编写程序,先按照前半部分的数字进行排序,再按照后半 部分的数字进行排序

java编程题: 1) 有以下一组字符串 2) 13-1、13-108、13-18、100-11、10-15、14-2、14-1 3) 编写程序,先按照前半部分的数字进行排序,再按照后半 部分的数...

关于VS2008编译错误"error LNK2005: 已经在 .obj 中定义"

关于VS2008编译错误"error LNK2005: 已经在 .obj 中定义"   无意中遇到了这样的编译问题, 于是google,发现在.h文件里定义变量,发生这问题的概率是灰...

VS2010编译错误解决

一.      VC++调试问题 1.     errorLNK2019:无法解析的外部符号_main… ——原因:控制台方式(windows/console)错误 解决:右击项目,点击属性→链...

VS2012+QT+openGL编译错误

在VS上安装了QT和openGL成功,运行一个QT程序,程序中需要开GL线程,生成解决方案出错 LINK2001错误解决方案...

VS2010编译错误 #error : This file requires _WIN32_WINNT to be #defined at least to 0x0403的解决方法

下载的一个MFC工程,在VS2010(工程是被转换为VS2010工程的)上编译遇到如下错误: 1>  stdafx.cpp 1>d:\program files\microsoft visual ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:15、VS2013编写程序时scanf出现的编译错误
举报原因:
原因补充:

(最多只允许输入30个字)