在这组语句中:

if(robot1Count < 12) {
    robot1Count++;
}
else if(robot1Count < 24) {
    robot1Count++;
}
else if(robot1Count < 36) {
    robot1Count++;
}
else if(robot1Count < 48) {
    robot1Count++;
}
else {
    robot1Count = 0;
}


想象一下,这是一个无限循环,该循环会从0遍历到48,然后变为0。我想知道的是,如果第一个块被执行了,接下来的所有块都会被忽略吗?或者我应该将第二个更改为else if(robot1Count = 12)吗?还是没关系?

最佳答案

我想知道的是,如果第一个块被执行,接下来的所有块都会被忽略吗?


是的,它们都会被忽略。条件甚至不会被评估。但是您知道,您可以自己对此进行测试!

if(robot1Count < 12) {
    printf("< 12");
    robot1Count++;
}
else if(robot1Count < 24) {
    printf(">= 12 && < 24");
    robot1Count++;
}
else if(robot1Count < 36) {
    printf(">= 24 && < 36");
    robot1Count++;
}
else if(robot1Count < 48) {
    printf(">= 36 && < 48");
    robot1Count++;
}
else {
    printf(">= 48");
    robot1Count = 0;
}


然后,您可以查看哪些消息已打印到控制台,然后您将知道并感觉正在发生什么!

10-04 19:29