给定两个具有&&
连接的条件。我知道评估的顺序是从左到右。但是,如果第一个条件解析为 false,那么第二个条件是否保证不会被评估?
#define SIZE
bool array[SIZE];
int index;
// play with variables
// ...
if(index < SIZE && array[index])
{
// ...
}
在此示例中,如果第一个条件为假,则不得评估第二个条件,因为数组中的访问将超出范围。
顺便说一句,我不能简单地用两个if
语句嵌套条件,因为实际上我需要像(!(in_range && get_element))
. 使用嵌套语句,我需要使用它goto
来跳过下面的代码块。