Для приведенного вами примера: если a
не равно нулю, приращение b
; Если c
равно нулю, уменьшите b
.
Из-за правил оценка короткого замыкания , то есть.
Вы также можете проверить это с помощью функции в качестве правого аргумента; printf
будет хорошо для этого, так как это дает нам легко наблюдаемый результат.
#include <stdio.h>
int main()
{
if (0 && printf("RHS of 0-and\n"))
{
}
if (1 && printf("RHS of 1-and\n"))
{
}
if (0 || printf("RHS of 0-or\n"))
{
}
if (1 || printf("RHS of 1-or\n"))
{
}
return 0;
}
Выход:
RHS of 1-and
RHS of 0-or