C 每次都跳过一个
我对2C 每次都跳过一个,c,if-statement,C,If Statement,我对2if有问题。 第一个If为true,因为xb==0,而下一个为false,因为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) { ... } } 当两者都为真时,为什么跳过if测试?只有在第一个if测试由于else关键字
if
有问题。
第一个If
为true,因为xb==0
,而下一个为false,因为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) {
...
}
}
当两者都为真时,为什么跳过
if
测试?只有在第一个if
测试由于else
关键字而为假时,才会执行第三个if
测试
将您的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 ...
}
}
@IrgendSonRandom请阅读以下内容:,并提供一个。当我正确理解你的问题时:删除
else中的else
如果语句,那么第二部分将正确运行。否则,仅当第一个if(xb==0)
为false时,才会检查else if(xb==0)
。