这里的条件相当于 00,01,11,10
互斥的条件应该不能同时满足,那么为啥子换成if结果就大相径庭呢,求大佬指教
by icingonthecake @ 2024-02-06 19:04:40
@[icingonthecake](/user/1270119) 你x,y的值改变了当然啊!
可以试一下下面这一段代码
```c++
#include<bits/stdc++.h>
using namespace std;
int main(){
int a = 0;
if(a == 0) a++;
if(a == 1) a++;
if(a == 2) a++;
if(a == 3) a++;
cout << a;
return 0;
}
```
输出的结果是 4
这说明很多 if 属于不同的线程,一个线程并不会影响其它的,你x,y也是同理。
tips:用if -else 语句会形成一个“串联”的结构,满足其中一个就会退出。
用 if 加上 `continue`语句也可以哦
by chenyuchen_1 @ 2024-02-06 19:07:01
@[icingonthecake](/user/1270119)
```c++
x=n;//<<<here
y++;
```
by chenyuchen_1 @ 2024-02-06 19:08:02
@[icingonthecake](/user/1270119) 会不会是因为执行其中一个if的时候改变了x和y的值使得他们有可能满足其他判断的条件?
by hema5177 @ 2024-02-06 19:10:25
@[icingonthecake](/user/1270119) 满足第一个条件第二个也会满组
by chenyuchen_1 @ 2024-02-06 19:11:49
诶回晚了,当我没说(
by hema5177 @ 2024-02-06 19:11:57
@[chenyuchen_1](/user/1023780) 哇,懂了,谢谢大佬,爆赞!!!
by icingonthecake @ 2024-02-06 19:15:21
@[hema5177](/user/648623) 你也是,爆赞!
by icingonthecake @ 2024-02-06 19:15:46
@[icingonthecake](/user/1270119) 谢谢qwq
by hema5177 @ 2024-02-06 19:45:53