请问最外层的一对花括号可以去掉吗?

时间:2023-01-10 20:28:55
比如有这样一段代码:

for (.........)
{
    if (........)
    {
     .......;
     .......;
    }
    else
    {
     .......;
     .......;
    }
}

请问在这种情况下,最左边的一对花括号,也就是括住整个for循环体的那一对花括号,可以去掉吗?去掉以后与没有去掉完全一样吗?

也就是说:循环体内的整个if else部分,是不是可以看作单个语句?

13 个解决方案

#1


可以。一样。可以。

#2


你这个情况可以去掉

#3


咦?怎么一发贴,我用空格表示的缩进全没有了?全从行首开始了?

#4


引用 1 楼 fancymouse 的回复:
可以。一样。可以。


我记得for循环体内如果是单条语句,就可以不用花括号,如果是多条语句,需要用花括号括起来形成一个复合语句。

那么,这就是说:循环体内的整个if else部分,虽然很长,但是可以看作是单条语句,是吗?

#5


引用 1 楼 fancymouse 的回复:
可以。一样。可以。

哦,你已经回复过了,谢谢!

#6


可以呀. 因为 后面的 IF ELS  是一个整体 

#7


答案跟楼上的一样,可以的。

#8


可以,if是一个语句。

#9


可以。
但是万一你以后突然想在if else语句后面加一句比如printf啥的,本意是放在for循环里面,结果却只执行一次就不要奇怪了。
代码不仅要现在调试通过,还要考虑以后好不好改啊。

#10


引用 9 楼 zhao4zhong1 的回复:
可以。
但是万一你以后突然想在if else语句后面加一句比如printf啥的,本意是放在for循环里面,结果却只执行一次就不要奇怪了。
代码不仅要现在调试通过,还要考虑以后好不好改啊。

谢谢!这个我知道。我只是想知道从严格的语法的角度来讲,整个if else部分(可能很复杂)是不是可以看作一个单语句。

既然你们说花括号可以去掉,说明它确实可以看作单语句,因为对于for循环来讲,循环内容是单语句的话是不需要加花括号的。

这个也就解释了为什么
if
else if
else if
else if
else
这样的结构是if else的变种。其实它们完全相同。如果if else不能看作单语句,就麻烦了,那就得写成:
if
else {if
else {if
else}
}
了。但事实上并不需要加这些花括号。

我主要是想语法上弄懂它,实际编程我当然知道,加了更好。

#11


if
else if
else if
else if
else
这样的结构是if else的变种。其实它们完全相同。如果if else不能看作单语句,就麻烦了,那就得写成:
if
else {if
else {if
else}
}
了。但事实上并不需要加这些花括号。
是这样的!

#12


可以去掉。
里面的if else 是个大语句块

#13


....最好别去掉。。。

#1


可以。一样。可以。

#2


你这个情况可以去掉

#3


咦?怎么一发贴,我用空格表示的缩进全没有了?全从行首开始了?

#4


引用 1 楼 fancymouse 的回复:
可以。一样。可以。


我记得for循环体内如果是单条语句,就可以不用花括号,如果是多条语句,需要用花括号括起来形成一个复合语句。

那么,这就是说:循环体内的整个if else部分,虽然很长,但是可以看作是单条语句,是吗?

#5


引用 1 楼 fancymouse 的回复:
可以。一样。可以。

哦,你已经回复过了,谢谢!

#6


可以呀. 因为 后面的 IF ELS  是一个整体 

#7


答案跟楼上的一样,可以的。

#8


可以,if是一个语句。

#9


可以。
但是万一你以后突然想在if else语句后面加一句比如printf啥的,本意是放在for循环里面,结果却只执行一次就不要奇怪了。
代码不仅要现在调试通过,还要考虑以后好不好改啊。

#10


引用 9 楼 zhao4zhong1 的回复:
可以。
但是万一你以后突然想在if else语句后面加一句比如printf啥的,本意是放在for循环里面,结果却只执行一次就不要奇怪了。
代码不仅要现在调试通过,还要考虑以后好不好改啊。

谢谢!这个我知道。我只是想知道从严格的语法的角度来讲,整个if else部分(可能很复杂)是不是可以看作一个单语句。

既然你们说花括号可以去掉,说明它确实可以看作单语句,因为对于for循环来讲,循环内容是单语句的话是不需要加花括号的。

这个也就解释了为什么
if
else if
else if
else if
else
这样的结构是if else的变种。其实它们完全相同。如果if else不能看作单语句,就麻烦了,那就得写成:
if
else {if
else {if
else}
}
了。但事实上并不需要加这些花括号。

我主要是想语法上弄懂它,实际编程我当然知道,加了更好。

#11


if
else if
else if
else if
else
这样的结构是if else的变种。其实它们完全相同。如果if else不能看作单语句,就麻烦了,那就得写成:
if
else {if
else {if
else}
}
了。但事实上并不需要加这些花括号。
是这样的!

#12


可以去掉。
里面的if else 是个大语句块

#13


....最好别去掉。。。