请问一下:第一个else能否改为else if?原因是什么?有点懵
2条回答 默认 最新
- qzjhjxj 2022-10-23 13:31关注
第一个else必须改为else if,不然第一个 if 是 < ,第一个 else 则是 >= ,函数修改如下,见注释处,供参考:
void common_A(LinkList& A,LinkList& B)//求 A B 的交集 { LNode*p = A->next,*q = B->next; LNode*r = A,*u = NULL; A->next = NULL; while(p && q){ if (p->data < q->data){ u = p; p = p->next; free(u); } else if (p->data > q->data){ //修改 u = q; q = q->next; free(u); } else{ r->next = p; r = p; p = p->next; r->next = NULL; //修改 u = q; q = q->next; free(u); } } while (p){ u = p; p = p->next; free(u); } while (q){ u = q; q = q->next; free(u); } free(B); //修改 }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效