最近重学C语言,新接触VS2015,从基本的开始学起。VS功能繁多,远超Dev或者VC,仅安装就让我费了大力气。还好安装成功,本以为一帆风顺,谁想一开始就栽了一个大跟头。
最简单的东西:
#include "stdafx.h"
#include <stdio.h>
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 都需要加这个过程,才能够调用该函数。