Gcc 什么是“最里面的”呢;如果;声明和随函附上的“;如果“是”的话;?
首先,请允许我发布GCC手册页的截图 第二批演示代码上面的一句话让我感到困惑,它被写为“因此‘else’不可能属于封闭的‘if’”。就我试图了解作者的想法而言,最里面的if语句是Gcc 什么是“最里面的”呢;如果;声明和随函附上的“;如果“是”的话;?,gcc,Gcc,首先,请允许我发布GCC手册页的截图 第二批演示代码上面的一句话让我感到困惑,它被写为“因此‘else’不可能属于封闭的‘if’”。就我试图了解作者的想法而言,最里面的if语句是if(b)和foo()。当他说“随附的‘如果’”时,他打算提到if(b)。但是如果我的猜测是正确的,演示代码应该是这样的: { if(a) { if(b) foo(); } else
if(b)
和foo()代码>。当他说“随附的‘如果’”时,他打算提到if(b)。但是如果我的猜测是正确的,演示代码应该是这样的:
{
if(a)
{
if(b)
foo();
}
else
bar();
}
我说得对吗?问题是“封闭的“如果”是什么。封闭的“如果”是if
,在其体内另一个(“内部”)if是“封闭的”
使你困惑的句子是正确的。该段指出,您应该如第二个示例中所示插入括号,以获得与第一个示例中相同的结果(但没有来自gcc
的警告)
如果您希望获得示例1缩进所建议的代码,那么您的示例将是正确的
现在这个句子的意思是:在示例1中,else
子句属于内部的if
,但这可能只是偶然的(当您的示例中的行为是需要的时候)。
当您按照示例2中的方式编写代码时,“不可能”您会想到这一点。封闭的if是if
,其主体中的另一个(“内部”)if是“封闭的”
使你困惑的句子是正确的。该段指出,您应该如第二个示例中所示插入括号,以获得与第一个示例中相同的结果(但没有来自gcc
的警告)
如果您希望获得示例1缩进所建议的代码,那么您的示例将是正确的
现在这个句子的意思是:在示例1中,else
子句属于内部的if
,但这可能只是偶然的(当您的示例中的行为是需要的时候)。
当您按照示例2中的方式编写代码时,“不可能”是您想要的
就我试图了解作者的想法而言,最里面的if语句是if(b)和foo()
对。而else
是它的一个子句,而不是随附if的子句
当他说“随附的‘如果’”时,他打算提到if(b)
不。他/她正在讨论一种方法,以明确else
属于最里面的if,而不是封闭的if。对编译器清除,也就是说,这样它就不会抛出此警告
除此之外,这两个例子在功能上是相同的。唯一的区别是一个人会引起警告。带大括号的版本在功能上与这两个版本不同——它使else
成为包含if(a)
的子句
就我试图了解作者的想法而言,最里面的if语句是if(b)和foo()
对。而else
是它的一个子句,而不是随附if的子句
当他说“随附的‘如果’”时,他打算提到if(b)
不。他/她正在讨论一种方法,以明确else
属于最里面的if,而不是封闭的if。对编译器清除,也就是说,这样它就不会抛出此警告
除此之外,这两个例子在功能上是相同的。唯一的区别是一个人会引起警告。带大括号的版本在功能上与这两个版本不同——它使else
成为包含if(a)
-if(b)的子句。附上的是另一个:-如果(a)。为什么我的问题迁移到这里?上面写着“11分钟前从unix.stackexchange.com迁移过来的”。这是离题的。@user43312编程仅在涉及shell脚本或API/系统接口时才在unix.stackexchange.com上进行。其他编程问题都在这里。@Tim,好的,第一次来这里。-如果(b)。附上的是另一个:-如果(a)。为什么我的问题迁移到这里?上面写着“11分钟前从unix.stackexchange.com迁移过来的”。这是离题的。@user43312编程仅在涉及shell脚本或API/系统接口时才在unix.stackexchange.com上进行。其他编程问题都在这里。@Tim,好的,第一次来这里。@glodilocks。谢谢我注意到这通常不是程序员所期望的
,因此编码为程序员的期望。“我希望我是合理的。”格洛迪克说。谢谢我注意到这通常不是程序员所期望的
,因此编码为程序员的期望。我希望我是合理的。