VS2015不能正常使用scanf函数的解决办法

  最近重学C语言,新接触VS2015,从基本的开始学起。VS功能繁多,远超Dev或者VC,仅安装就让我费了大力气。还好安装成功,本以为一帆风顺,谁想一开始就栽了一个大跟头。

  最简单的东西:

#include "stdafx.h"
#include 

int main()
{
	char str;
	scanf("%c", &str);
	printf("%c",str);
    return 0;
}
百般试验,运行不出来……

原来是VS2015平台的问题。在网上找了许多的材料,都说得较对,却没有对我这种初学者的,每一步选项都是难题,为此我一下下的来给自己说一说。

运行上述程序:

结果不正确。

根据错误报告,修改scanf为scanf_s:

仍旧不可行。

查找scanf_s函数调用格式,该函数处理数组情况:

可以,以上述格式类推:

不可行。

scanf函数处理字符串:

也不能成功。

网帖说这是scanf函数所处理过的变量以“\0”结尾,而VS中不同。

需要添加东西:

在黑色处添加一句_CRT_SECURE_NO_DEPRECATE

再次运行相同程序,可得到正确结果:

字符串也一样:


此时,scanf函数即可正常调用。当然,每个project 都需要加这个过程,才能够调用该函数。

你可能感兴趣的:(C语言学习)