VS2005, VS2008等对C99的支持是不完整的;而VS2013则好很多。
以变量声明的位置为例,VS2013可以在代码的任何位置定义变量,而VS2005不行。
下面是VS2005上的效果。
代码示例:
#include <stdio.h>
int main()
{
int a = 10;
printf("a = %d\n", a);
int b = 20;
printf("b = %d\n", b);
return 0;
}
编译结果:
1>------ 已启动生成: 项目: test_c99, 配置: Debug Win32 ------
1>正在编译...
1>test.c
1>d:\examples\vs2005\test_c99\test_c99\test.c(8) : error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>d:\examples\vs2005\test_c99\test_c99\test.c(9) : error C2065: “b”: 未声明的标识符
1>生成日志保存在“file://d:\examples\vs2005\test_c99\test_c99\Debug\BuildLog.htm”
1>test_c99 - 2 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========
需要把变量定义放在程序的最前面:
#include <stdio.h>
int main()
{
int a = 10;
int b;
printf("a = %d\n", a);
/*int */b = 20;
printf("b = %d\n", b);
return 0;
}
下图是VS2013的情况:
最后转一个VS2013的注册的问题:
http://tieba.baidu.com/p/3253368668
1、打开Visual Studio 2013
2、打开 菜单Help->Register Product
3、选择 License with a Product Key,输入注册码:
BWG7X-J98B3-W34RT-33B3R-JVYW9
点击Apply
4、测试成功后点击关闭即可