【问题标题】:Defining variables after calling functions gives me a compilation error在调用函数后定义变量会给我一个编译错误
【发布时间】:2017-04-18 02:44:49
【问题描述】:

这行得通

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 的工作原理,还是涡轮 C 的东西?

编辑:在意识到我的意思是说“定义”而不是“声明”后发现重复

【问题讨论】:

标签: c turbo-c


【解决方案1】:

在 C89 中,变量必须在块的开头声明。自 C99 以来,该限制已被取消。

Turbo C 这个过时的编译器不支持这个 C99 特性也就不足为奇了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-04
    • 2013-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-21
    • 2015-07-22
    相关资源
    最近更新 更多