C 不同{结构的“如果”句的区别
下列句子之间的区别是什么C 不同{结构的“如果”句的区别,c,if-statement,C,If Statement,下列句子之间的区别是什么 if (i1) if (i2) s1; else s2; 及 及 您的第一个代码片段缩进严重,应为: if (i1) if (i2) s1; else s2; 这相当于你的第二个片段,但明显不同于第三个片段: if (i1) { if (i2) s1; } else { s2; } 此问题称为悬空else问题。通过始终在if命令的块周围使用大括号{和},可以完全避免此问题。您可以将第一个和第二
if (i1)
if (i2) s1;
else s2;
及
及
您的第一个代码片段缩进严重,应为:
if (i1)
if (i2)
s1;
else
s2;
这相当于你的第二个片段,但明显不同于第三个片段:
if (i1) {
if (i2)
s1;
} else {
s2;
}
此问题称为悬空else问题。通过始终在if命令的块周围使用大括号{和},可以完全避免此问题。您可以将第一个和第二个片段编写为:
if (i1) {
if (i2) {
s1;
} else {
s2;
}
}
第三个是
if (i1) {
if (i2) {
s1;
}
} else {
s2;
}
Wikipedia有一篇关于这个问题的文章:为什么不测试它?并且总是使用大括号。这样做会提高可读性,减少出错的机会。大括号的意思是{和}对不起,我的英语不好。还有,埃德,这不是作业,这是我正在读的一本书。如果是从一本书中找到的,答案会在前一章或后面。我的座右铭是:永远使用背带,你不想被人发现你的裤子在裤子下面。不是吗,它只是显示了不同的可能性。你知道任何网站链接都能很好地解释这一点吗?第二个例子,为什么在第二个if之后不使用大括号?@igagazovda:我的目的是复制你的片段,只是改变缩进。我澄清了答案。
if (i1) {
if (i2) {
s1;
} else {
s2;
}
}
if (i1) {
if (i2) {
s1;
}
} else {
s2;
}