2010-10-30 108 views
4

下面的代码给出:嵌套的if语句没有括号

 if (c2-c1==0) 
     if (c1 != c3) 
        {...} 

如何理解这个代码?第一条if语句不含{}。高于等于代码下面的代码?:

if (c2-c1==0){ 
    if (c1 != c3) 
       {...} 
} 
+7

正如人们已经回答的,是的,它们相当于编译器。但**不这样做**。出于这个原因。 “总是使用大括号”是其语法源自B语言(C,Java,C++,C#,...)的所有语言的基本可维护性准则之一。懒惰可能有一个或两个单线程的例外,但除此之外,就是这样做。使用适当的工具,您基本上不必输入它们。 – 2010-10-30 08:12:24

回答

5

是。 if语句适用于它后面的下一个语句 - 在这种情况下恰好是另一个语句。

3

是的,他们是等价的

1

绝对如此。没有括号意味着第一个if中的唯一指令是其他if,它可以包含任何你想要的。