#include<stdio.h>
void main()
{
int a=100;
printf("%d",a);
int b=200; //Error
printf("%d",b);
}
我知道在那里声明 b 会导致错误,但我想知道为什么?
我还想让你们知道,我已经在Windows上使用Turbo C++ 4.0编译了这个程序。 我得到的错误是"此处不允许声明"。
这在很大程度上取决于编译器,或者更确切地说,它实现的是哪个版本的 C。
在C99标准之前,声明只能放在其他声明之前。不能在其他语句之间有声明。
这在 C99 标准中发生了变化,从那时起,您可以在任何地方进行声明。
如果您的编译器为您显示的代码提供错误,则它可能非常旧。