首页 > 解决方案 > 代码中额外的大括号有什么用?它有什么作用?

问题描述

这是一个 C 程序,其中来自“int k”和“for”循环的代码包含在大括号中。那些大括号的目的是什么?

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

标签: c

解决方案


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

您的变量k在主范围中定义,但随后在匿名块中被隐藏。

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

大约 1000 年前,当我在编写 C 语言时,我会对我团队中尝试使用这个技巧的开发人员说严厉的话。


推荐阅读