为什么该程序运行没有错误?

时间:2019-06-15 03:40:50

标签: c

这是一个C程序,其中没有包含头文件,也有不需要的花括号,它没有给出任何错误。为什么?

   int main(){
       int k;
       {
           int k;
           for (k=0;k<10;k++);
       }
   }

1 个答案:

答案 0 :(得分:1)

此代码中没有“不需要的括号”。有一个匿名块,这不是错误。实际上,它是规范所允许的。

您的变量k在主作用域中定义,但随后在匿名块中被遮盖。

int main() {
  int k = 0;
    {
    int k = 1;
    // do more stuff with k
    }
  // k is still 0 here.
}

当我使用C语言进行编程时(大约1000年前),我会为团队中尝试使用此技巧的开发人员说一些严厉的话。