c之变量未声明错误

//test.c
#include<stdio.h>
int main()
{    
    int a=0;
    printf("%d",a);
    int b=1;
    printf("%d",b);
    return 0;
}

上面这几行代码在VS2010下运行,报了下面两个错。

error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
error C2065: “b”: 未声明的标识符

很纳闷,b怎么未声明了。原来,在c语言中,局部变量必须在语句块最上面声明。

于是尝试把b的定义放到最上面,程序便执行成功了。

//test.c
#include<stdio.h>
int main()
{    
    int a=0;
    int b=1;
    printf("%d",a);
    printf("%d",b);
    return 0;
}
原文地址:https://www.cnblogs.com/log-a/p/3930062.html