if if语句和if elseif语句有区别吗

二叉树遍历递归算法
void PreOrderTraverse(BitTree *h)
{
BitTree *p;
p=h;
visit(p->data); //先访问中间
if(p->lchild!=NULL) //再访问左
PreOrderTraverse(p->lchild);
if(p->rchild!=NULL) //再访问右
PreOrderTraverse(p->rchild);
return;
}

两个if若换成if和else if
则else if语句总是没执行

你写的程序换成else if肯定是有区别的,因为你的两个判断条件不一样

if(a = 1) b=1;
if(a = 2) b=3;
就可以换成 if elseif
~~~~
if(a = 1) b=1;
if(c = 2) b=3;
就不能换成if elseif
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-01-12
int a=6;
if(a>5) b=1;
else if(a>3) b=2;
else 相当于否定前一个if,即等价于:
if(a>5) b=1;
if(3<a<=5) b=2;
两个if语句放在一起可以看作独立语句,当上下两个if语句互斥时,就可以和if....else if等价了。本回答被网友采纳
第2个回答  2018-01-12
我来通俗易懂的科普一下吧!
if……if……的直译是:如果什么什么,如果什么什么(意味着两个句子不是一个整体)。
if……else if……的直译是:如果什么什么,又如果什么什么(意味着两个句子是一个整体)。
比如:
a = 10;if(a>6){输出6} if(a>8){输出8} 结果是输出6和8。
a = 10;if(a>6){输出6} else if(a>8){输出8} 结果是输出6。
相似回答