在else中使用if else和else或if 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");
OR
if (i == 5)
printf("i is 5");
else {
if (i > 5)
printf("i is greater than 5");
else
printf("i is less than 5");
}
执行没有区别。两个片段都会给出相同的结果,但就像我们应该使用后者或第一个片段一样,因为一个是更好的编程习惯,而另一个则不是。
答案 0 :(得分:6)
使用else if
与else { if
之间没有功能差异。这纯粹是一种风格决定。
我冒昧地说,大多数开发人员更喜欢else if
。使用else { if
会导致基于相同数据的逻辑不必要的缩进。
答案 1 :(得分:1)
使用最明确表达的情况:
if (file_opened_successfully)
...
else
{
if (file_does_not_exist)
...
else if (file_permissions_not_set)
...
else if (file_wrong_type)
...
else
...
}
外部决定严格地是二元的;要么我们可以打开文件,要么我们不能。如果我们可以打开文件,我们会正常处理它,否则我们需要处理错误。
但是,我们无法打开文件有多种可能的原因,我们的错误处理取决于原因是什么原因。所以这是一个多路分支,而不是严格的二元分支。
答案 2 :(得分:0)
我通常使用第一种方法,如果条件与第一种方法相关,否则我会使用数字2,但它只是你感觉舒服。