gpt4 book ai didi

复合 IF 语句作用域

转载 作者:太空狗 更新时间:2023-10-29 15:43:20 25 4
gpt4 key购买 nike

if()//first if
{
if()//second if
statement;
}
else
statement;

我知道 else 与第一个 if 匹配,但我的问题是为什么?我是这样想的,首先是 ifelse 在同一范围内(例如 mains 本地范围),第二个 if 在第一个 if 本地范围内,其中 else 不可见?这是正确的吗?

最佳答案

if....else 的基本语法是:

              --optional-
if(expr) stmt [else stmt]

如果你的例子没有括号,它们会这样嵌套:

         ---------stmt----------
if(expr) if(expr) stmt else stmt

基本上意味着 else 与最近可用的 if 绑定(bind),并且满足外部 if 的语法,因为内部 if...else 是一个语句

添加大括号给出(首先再次显示整体语法):

if(expr)       stmt       [else stmt]

--compound-stmt--
if(expr) { if(expr) stmt } else stmt

这里,然后内部 if(expr)..stmt 包含在一个复合语句(它是一个语句的子变体)中,并且最近仍然打开(读取:在范围内) if 是第一个。您还可以将复合语句的结尾(右大括号)视为关闭所有包含的句法结构。

没有复合if,只有if控制复合语句。

关于复合 IF 语句作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17373641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com