C语言 为什么在 main() 函数的起始行之后声明变量会导致错误?


#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 标准中发生了变化,从那时起,您可以在任何地方进行声明。

如果您的编译器为您显示的代码提供错误,则它可能非常旧。

最新更新