Оператор присваивания - =
.Таким образом, правильный способ присвоения выражения переменной -
int a = i < 3;
Точнее, это присваивает переменной значение выражения.Само выражение не присваивается переменной.Это означает, что выражение вычисляется немедленно.Когда вы делаете
for(i=0;a; i++)
Значение a
никогда не изменится, даже если i
не изменится.
Идиоматический способ написания циклов - записать логическое выражение inline:
for(i=0;i<3; i++)
Если у вас есть более сложные вычисления, чтобы определить, когда цикл должен закончиться, вы можете написать функцию для расчета.Например:
int condition(int i) {
return i < 3;
}
Теперь вы можете записать цикл for как
for (i = 0; condition(i); i++)