这有效
main()
{
int c;
struct books Book1;
c = getchar( );
return 0;
}
这不是
main()
{
int c;
c = getchar( );
struct books Book1;
return 0;
}
函数main中的表达式语法(并指向单词' struct'之后的空格)
这不是因为B的定义低于c = getchar();
,错误指向" int"之间的空间。和" b"
main()
{
int c;
struct books Book1;
c = getchar( );
int b;
return 0;
}
问题是我必须在调用函数之前定义每个变量,还是其他的?
这是C的工作方式,还是turbo C的东西?
编辑:在意识到我打算说"定义"后发现重复。不是"声明"
答案 0 :(得分:4)
在C89中,变量必须在块的开头声明。自C99以来,该限制被删除。
Turbo C,一个过时的编译器,不支持这个C99功能,这并不奇怪。