看下面两个语句:
if(p->key>key) p=p->left;
if(p->key<key)p=p->right;
上面的写法是很有问题的: 如果第一条条件满足的时候,在第二条语句中会继续比较;但第二条语句的p->key 实际上是之前的p->left->key
使用else 即可避免第一条语句满足,仍进行第二条语句:
if( XXX) SSS;
else if(XX) ssss;
else if(XXXX) ssss;
有任意一个if为TRUE 则后续else if 不再进行比较