gpt4 book ai didi

c - 不同{结构的 "if"句子之间的区别

转载 作者:行者123 更新时间:2023-11-30 21:47:40 26 4
gpt4 key购买 nike

下列句子有什么区别。

if (i1)
if (i2) s1;
else s2;

if (i1)
{
if (i2) s1;
else s2;
}

if (i1)
{
if (i2) s1;
}
else s2;

最佳答案

您的第一个代码片段缩进严重,应为:

if (i1)
if (i2)
s1;
else
s2;

这相当于你的第二个片段,但显然与第三个片段有很大不同:

if (i1) {
if (i2)
s1;
} else {
s2;
}

这个问题称为悬挂的else问题。您可以通过始终在 if 命令的 block 周围使用大括号 {} 来完全避免这种情况。您可以将第一个和第二个片段写为:

if (i1) {
if (i2) {
s1;
} else {
s2;
}
}

第三个为

if (i1) {
if (i2) {
s1;
}
} else {
s2;
}

维基百科有一篇关于这个问题的文章:https://en.wikipedia.org/wiki/Dangling_else

关于c - 不同{结构的 "if"句子之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35391026/

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