首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >if-else vs if-else-if-else

if-else vs if-else-if-else
EN

Stack Overflow用户
提问于 2013-03-09 01:43:15
回答 3查看 631关注 0票数 0

使用if else if和else或者if else和else中的其他条件有什么区别吗?例如,

代码语言:javascript
复制
if (i == 5)
  printf("i is 5");
else if (i > 5)
  printf("i is greater than 5");
else
  printf("i is less than 5");

代码语言:javascript
复制
if (i == 5)
  printf("i is 5");
else {
  if (i > 5)
    printf("i is greater than 5");
  else
    printf("i is less than 5");
}

在执行上没有区别。这两个片段会给出相同的结果,但我们应该使用后一个还是第一个,因为一个是更好的编程实践,而另一个不是。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-09 01:46:34

使用else if和使用else { if之间没有功能上的区别。这纯粹是一个风格决定。

不过,我敢说大多数开发人员都更喜欢else if。使用else { if会导致基于相同数据的逻辑出现不必要的缩进。

票数 6
EN

Stack Overflow用户

发布于 2013-03-09 02:14:37

使用任何最清楚地传达情况的方法:

代码语言:javascript
复制
if (file_opened_successfully)
...
else
{
   if (file_does_not_exist)
   ...
   else if (file_permissions_not_set)
   ...
   else if (file_wrong_type)
   ...
   else
   ...
}

外部的决定是严格的二进制的;要么我们可以打开文件,要么我们不能。如果我们可以打开文件,我们就会正常地处理它,否则我们需要处理错误。

然而,我们无法打开文件有多种可能的原因,我们的错误处理取决于哪一种原因被证明是这种情况。所以这是一个多路分支,而不是严格的二进制分支。

票数 1
EN

Stack Overflow用户

发布于 2013-03-09 01:47:31

如果条件与第一个If相关,我通常会使用第一种方法,否则我会使用第二种方法,但这只是你感觉舒服的方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15300092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档