使用if else if和else或者if else和else中的其他条件有什么区别吗?例如,
if (i == 5)
printf("i is 5");
else if (i > 5)
printf("i is greater than 5");
else
printf("i is less than 5");或
if (i == 5)
printf("i is 5");
else {
if (i > 5)
printf("i is greater than 5");
else
printf("i is less than 5");
}在执行上没有区别。这两个片段会给出相同的结果,但我们应该使用后一个还是第一个,因为一个是更好的编程实践,而另一个不是。
发布于 2013-03-09 01:46:34
使用else if和使用else { if之间没有功能上的区别。这纯粹是一个风格决定。
不过,我敢说大多数开发人员都更喜欢else if。使用else { if会导致基于相同数据的逻辑出现不必要的缩进。
发布于 2013-03-09 02:14:37
使用任何最清楚地传达情况的方法:
if (file_opened_successfully)
...
else
{
if (file_does_not_exist)
...
else if (file_permissions_not_set)
...
else if (file_wrong_type)
...
else
...
}外部的决定是严格的二进制的;要么我们可以打开文件,要么我们不能。如果我们可以打开文件,我们就会正常地处理它,否则我们需要处理错误。
然而,我们无法打开文件有多种可能的原因,我们的错误处理取决于哪一种原因被证明是这种情况。所以这是一个多路分支,而不是严格的二进制分支。
发布于 2013-03-09 01:47:31
如果条件与第一个If相关,我通常会使用第一种方法,否则我会使用第二种方法,但这只是你感觉舒服的方式。
https://stackoverflow.com/questions/15300092
复制相似问题