在VS2012中for循环后无法声明变量

Rah*_*ahn 1 c visual-studio-2012

这是我的代码:

//main.c
int main()
{
    int i=0;
    for (i = 0; i < 10; i++)
    {
        //do nothing
    }
    int temp = 0;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

代码可以用我的clang(602.0.49)编译,但error C2143在VS 2012中生成:

错误C2143:语法错误:缺少';' 在'类型'之前

将后缀修改为.cpp或删除后,一切都很好int temp = 0;

这是否意味着我无法for在C项目中循环后声明变量?

oua*_*uah 5

Visual Studio 2012仅支持C89方言.

C89方言强制您在同一个块中的语句之前放置声明.

要修复错误,请在temp声明后立即移动i声明.