同样的C语言代码,在DEVC++上就可以编译成功,而在VS2010上就编译失败?

#include<stdio.h>

int main(void)
{
int a = 5;

a=a+3;

int b = 6;

b = b-3;

printf(" %d, %d ",a,b);
getchar();
return 0;
}

在DEVC++上编译成功了,在Vs上却显示这样的错误:
b.c(9): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
b.c(11): error C2065: “b”: 未声明的标识符
b.c(11): error C2065: “b”: 未声明的标识符
b.c(14): error C2065: “b”: 未声明的标识符

是两种编译器支持的协议不同吗?

第1个回答  2011-02-27
把int b=6;放到a=a+3;前面.
定义变量应该放到最前面.追问

那为什么在DEVC++中就可以识别啊?

追答

你写的这代码是c标准的代码,不过c++可以向下兼容c,而c++可以在任何时候定义变量.devc++应该是把他当c++代码识别了.

本回答被提问者采纳
第2个回答  2011-02-27
悲剧!
相似回答