я наткнулся на этот кодFor Loop без условия
var i=Array.ConvertAll(Console.ReadLine().Split(),int.Parse);
for(int x=i[0]-i[2],y=i[1]-i[3];;Console.WriteLine((0!=y?0<y--?"S":"N":"")+(0!=x?0<x--?"E":"W":"")));
Я думаю, что я понимаю int x=i[0]-i[2],y=i[1]-i[3]
, но та часть, которая меня смущает то, что нет никакого конца состояния. Итак, мой вопрос: как завершается этот цикл?
Я видел этот ответ, в котором говорится о бесконечной петле.
Я все за то, что вырубил переменный беспорядок, однако, это очень тупой код. –
Все три раздела (инициализатор, условие, итератор) объявления цикла являются необязательными. Это означает, что 'for (;;)' является синонимом 'while (true)'. – spender
Это бесконечный цикл. Как указано в ответе ниже, все три раздела являются необязательными. @lrb выглядит как задача «прочитать этот код», скопированную из какой-то скрученной книги C++ (аналогичные конструкции могут быть элегантными в C++, хотя imho) –