函数中的局部变量是应该用大括号包起来,还是直接暴露到函数体中

这么做也不是不可以,但通常都是放到 do {} while (0); 中,通常在宏定义中会用到这种伎俩。
■网友
个人比较倾向第二种写法,这样可以很方便的弄的很好看,类似:
void DoSth(){
/** Begin **/
{
int xxx = 0;
//...
}
/** Processing **/
{
int xxx = 0;
}
/** End **/
{
int xxx = 0;
}
}
当然这种情况下可能分成函数比较好,不过某些情况下这样写还是很好看的

■网友
谢邀。
感觉大家都已经回答了,作用域的问题。
另外,建议在作用域外定义变量,作用域内引用即可,定义一个变量就好了。

■网友
谢邀,加大括号后作用域就在大括号内了,每个大括号可以有相同的变量名,因为他们的作用域不一样。这不是代码简洁性的问题,就是个作用域问题。。。
■网友
现实中还很少看到第一种,基本都是第二种吧
■网友
【函数中的局部变量是应该用大括号包起来,还是直接暴露到函数体中】 这是作用域的问题,你要是理解了作用域,也就不会问这个问题了。

■网友
谢邀!作用域的问题,在函数体中本身就是局部变量,因为他在一对括号中。如果再加一对括号,那么他的作用域则在新的括号中。用花括号括起来的代码叫做代码块。而局部变量的作用域则是在代码块中。函数体也属于代码块的一部分,而代码块不仅仅包括函数体。这么回答不知道提主明白了没?
■网友
为什么都邀请我回答这些数学问题,我数学真的很烂的。又受刺激了。。。。


    推荐阅读