我正在学习C语言usnig Turbo C ++编译器,并且我及时遇到了两个语句:
我想知道我的想法是否正确 IF(嵌入多个IF)和IF-else(非嵌套)是否相同?建议非常感谢。
答案 0 :(得分:3)
这背后唯一的基本逻辑:
嵌套if
条件:
如果第一个条件的值为真,则进入第二个条件。
if(a > 0)
{
printf("A is greater than 0\n");
if(a > 2) printf("A is greater than 0 and 2\n");
}
if-else
条件:
如果第一个条件的值为假,请转到下一个:
if(a > 0) printf("A is greater than zero\n");
else if(a < 0) printf("A is lesser than zero\n");
else printf("A is zero\n");
还有一条指示您应该知道,switch
:
switch(a)
{
case 0: printf("A is zero\n"); break;
case 1: printf("A is one\n"); break;
case 5: printf("A is five\n"); break;
default: printf("A is not 0, 1 or 5\n"); break;
}
答案 1 :(得分:2)
嵌套if
不等同于if-else
。它可以等同于具有组合条件的单if
,例如:
if (a == 1) {
if (b == 2) {
...
}
}
相当于:
if (a == 1 && b == 2) {
...
}
答案 2 :(得分:1)
我想你的意思是:
if(expression){
//code
}
else{
if(expression){
//code
}
}
相当于:
if(expression){
//code
}
else if(expression){
//code
}
是的,它完全一样。第二个是更好看的方式。