关于两个if语句和if+else if语句的区别有点迷惑,请大佬帮忙解答

Fake_Joker813 2023-09-11 22:09:44

代码注释的部分和注释下方的部分运行的结果不同,不是很明白为啥

原题如下:

 

 

 

 

 

...全文
123 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lnetant 2023-09-12
  • 打赏
  • 举报
回复

第一个if满足执行条件后你把x值改了,会导致第二个if满足条件,就出现两个if都执行了

Fake_Joker813 2023-09-12
  • 举报
回复
@lnetant 哦哦哦,好的,非常感谢!
好的kk 2023-09-12
  • 打赏
  • 举报
回复

两次if在程序运行中都会各执行一次,而if+else if表示,执行了if就不会执行else if了,else if可理解为除if以外的if

Fake_Joker813 2023-09-12
  • 举报
回复
@好的kk 这个道理清楚了,但是 (a[x].head == 0 && tmp == 0) || (a[x].head == 1 && tmp == 1) 和 (a[x].head == 0 && tmp == 1) || (a[x].head == 1 && tmp == 0) 这两个条件不是互斥的吗?如果前一个if执行了,而后面的if不满足,不就不会执行了吗?如果前一个if不满足,而后面的if执行。虽然原理不同,但结果不是就和if+else if的结果一致么?
好的kk 2023-09-12
  • 举报
回复
@Fake_Joker813 我也觉得你这个逻辑是正确的,可能不是出在此处,跟你一起蹲答案吧

11,001

社区成员

发帖
与我相关
我的任务
社区描述
创建由Python学习者和社区专家组成的国内最大的第三方Python中文社区,帮助社区成员更好地入门学习、职业成长和应用实践
python学习 企业社区
社区管理员
  • Python全栈技术社区
  • Lumos_zbj
  • 北侠大卫
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

创建由Python学习者和社区专家组成的国内最大的第三方Python中文社区,帮助社区成员更好地入门学习、职业成长和应用实践

  • 这里有最新最全的 Python 学习内容及资源,每月多达4次技术公开课
  • 这里有众多 Python 学习者,陪伴你一起交流成长
  • 这里有专业 Python 社区专家、讲师,帮助你跨越学习瓶颈,解决实操难题
  • 这里有丰富的社区活动,可以开阔眼界,结识更多同伴

【最新活动】:

  1. 周四技术公开课讲师招募中,点击查看详情
  2. “Python 社区专家团” 招募中,点击查看详情

 

试试用AI创作助手写篇文章吧