bool stop = false;
int f1 = 1;
int f2 = 2;
int f3 = 0;
int sum = 2;
while (!stop)
{
f3 = f1 + f2;
sum += f3 % 2 == 0 ? f3 : 0; //THIS ONE
stop = f3 > 4000000 ? true : false;//AND THIS ONE.
f1 = f2;
f2 = f3;
}
Что это за условный оператор? Это первый раз, когда я видел что-то подобное. ?Может кто-нибудь объяснить эту короткую строку кода мне?
хороший ответ; четким, кратким и однозначным. – kloucks
'if (f3% 2 == 0) sum + = f3;' также может быть переписан как просто 'if (! (F3% 2)) sum + = f3;' поскольку 0 является ложным значением, а отличным от нуля истинное значение. – Amber
@klouks: tyvm! @Dav: вы правы, но я никогда не был поклонником смешивания логических операций и целых чисел. Это, однако, чисто вопрос вкуса и, как правило, имеет отношение к тому, как много контактов со старыми школьными программистами. :-) – cdiggins