11,969
社区成员
发帖
与我相关
我的任务
分享
代码注释的部分和注释下方的部分运行的结果不同,不是很明白为啥
原题如下:



第一个if满足执行条件后你把x值改了,会导致第二个if满足条件,就出现两个if都执行了
两次if在程序运行中都会各执行一次,而if+else if表示,执行了if就不会执行else if了,else if可理解为除if以外的if
但是 (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的结果一致么?