在C++中使用单个if满足两个条件

Mac*_*Mac 1 c++ if-statement c++builder c++14

有没有办法在C++中同时满足两个条件?

我有一份清单

 x and y
-1    -1
-1     0
-1     1
 0    -1
 0     0
 0     1
 1    -1
 1     0
 1     1
Run Code Online (Sandbox Code Playgroud)

所以我想在一个等式中使用它们的所有组合,例如:

a = x+y (example)
Run Code Online (Sandbox Code Playgroud)

但是我想排除x和y同时为0的情况.

所以我试过了:

if(x!=0 && y!=0){
a = x+y;
}
Run Code Online (Sandbox Code Playgroud)

但这排除了x或y等于0的每种情况,而不仅仅是我想要的点x,y =(0,0).

我怎么解决这个问题?

das*_*ght 10

你需要

if (!(x == 0 && y == 0)) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

您可以使用De Morgan的法律将其翻译为

if (x != 0 || y != 0) {
    ...
}
Run Code Online (Sandbox Code Playgroud)