4

所以我正在创建一个简单的程序,我通常使用 GNU 编译器。

但是,这次我选择使用 Visual C++ 进行 C 开发。

我已经正确设置了我的项目,更改了设置以使其在 C 中编译。代码非常简单:

#include <stdlib.h>
#include <stdio.h>

int main(){

    printf("Hey!");
    int x = 9;
    printf("%d",x);

    return 0;
}

如果我使用 Code::Blocks IDE 和 GNU 编译器编译它,它会起作用,但由于某种原因,它在 Visual C++ 中不起作用。我不断收到这些错误:

error C2143: syntax error : missing ';' before 'type'

error C2065: 'x' : undeclared identifier

我怎样才能解决这个问题?

4

2 回答 2

10

VC++ 2010 仅实现 C89/C90,而不是较新的 C 标准,后者允许在函数体内的其他语句之后声明变量。要修复它,请将声明移动x到的开头main

#include <stdlib.h>
#include <stdio.h>

int main() {
    int x = 9;
    printf("Hey!");
    printf("%d",x);

    return 0;
}
于 2013-01-19T02:09:02.410 回答
1

将文件扩展名更改为 .cpp

于 2013-01-19T02:14:52.073 回答