public class Test{
public static void main(String args[]){
int a = 0;
int b = 1;
int c = 10;
if (a == 0 || b++ == c){
a = b + c;
}else{
b = a + c;
}
System.out.println("a: " + a + ",b: " + b + ",c: " + c);
}
}
Ok, это Java-код и выход : с 11, б: 1, с: 10 И я считаю, что C действует так же, как Java в этом случаеIf-оператор с логическим ИЛИ
Это потому, что второе условие (b ++ == c) никогда не будет выполнено, если первое условие истинно в операторе «OR».
Для этого есть «НАЗВАНИЕ». Я просто не помню, что это такое. Кто-нибудь знает, как это называется?
Согласен. В этой статье есть статья в Википедии, в том числе таблица, которую вызывают * короткозамкнутые * и * жадные логические операторы на разных языках программирования: http://en.wikipedia.org/wiki/Short-circuit_evaluation#Support_in_common_programming_languages – stakx