我遇到2 if
的问题。
第一个If
是正确的,因为xb == 0
但是下一个是假的,因为yb==1
。在else if
语句中,两个条件都得到满足。
xb = 0;
yb = 1;
xz = 0;
yz = 0;
if (xb == 0) {
if (yb == 0) {
...
}
} else if(xb == 0) {
if (yb == 1) {
...
}
}
为什么else if
被跳过,两者都是真的?
答案 0 :(得分:0)
第三个if
仅在第一个if
测试由于else
关键字而为假时执行。
将你的ifs更改为:
xb = 0;
yb = 1;
xz = 0;
yz = 0;
if (xb == 0) {
if (yb == 0) {
// both xb and yb and 0 ...
} else
if (yb == 1) {
// xb is 0 and yb is 1 ...
}
} else {
if (yb == 0) {
// xb is not 0 and yb is 0 ...
} else
if (yb == 1) {
// xb is not 0 and yb is 1 ...
}
}