Java

Как работает такой цикл for? for (i=1;i>=n;i--) И для каких N он может использоваться?

Алгоритм цикла For таков.
  1. При первом заходе в цикл инициализируются внутренние переменные цикла, этот шаг выполняется только один раз.
  2. Идет проверка условия, если оно ложно, цикл завершает свою работу и начинается исполняться код идущий за циклом. Если условие истинно, то исполняется тело цикла.
  3. На этом шаге выполняются операторы инкремента или декремента.

Данный приведенный цикл в твоем вопросе, может выполняться для значений N равному значению i или меньше этого значения.
Тимур Тимиргалин
Тимур Тимиргалин
4 039
Лучший ответ
>Как работает такой цикл for? for (i=1;i>=n;i--)
Как и любой другой for: перед циклом выполняется первый операнд (инициализация), перед выполнением каждой итерации проверяется результат второго (условие цикла), после итерации выполняется третий.

>И для каких N он может использоваться?
Для любых, сравнимых в типом i. В данном случае используется оператор сравнения >= - вот и нужно, чтобы он мог быть корректно применен к обоим операндам одновременно.
1) этот цикл может использоваться для любых значений N, потому что в си n и N - разные имена переменных
2) если речь об n, то цикл может использоваться для любых значений n, сравнимых со значением целочисленного типа
2.1) но выполняться тело цикла будет лишь при n <= 1, например, n = -10, n = 1e-5 и т.п.
Аркадий Чугай
Аркадий Чугай
54 736
Для любых чисел N
Qw Qww
Qw Qww
4 101
зависит от типа i. для uint8_t будет последовательно вызываться для значений 1, 0, 128, 127, 126, ..., N+1, N