C89 和 C99 是两套不同的C语言标准,C99 是 C89 的升级版。
GCC、Xcode 对 C99 的支持非常好,可以在函数的任意位置定义变量;
根据资料,VC/VS 对 C99 的支持比较少;必须在函数开头定义好所有变量;
写一个程序来看一下;
#include <windows.h>
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
char szBuffer[100];
int a;
a=100;
int b;
b=999;
int c = a + b;
wsprintf(szBuffer, "%d",c);
MessageBox(NULL,szBuffer,TEXT("var2 变量的定义位置"),0);
return 0;
}
先用Cfree,文件名后缀为cpp,程序直接运行起来;