При первом запуске r()
будет возвращено 7, в следующий раз - 6 и т. Д.
Цикл for остановится, когда значение r()
будет равно 0.
Поток кода:
r() // 7 [1st expression in the for loop]
if (!r()) stop for loop; // 6, so goes into for loop [2nd expression in the for loop]
print (r()) // 5
r() // 4 [3rd expression in the for loop]
if (!r()) stop for loop // 3, continues again
print (r()) // 2
r() // 1 [3rd expression in the for loop]
if (!r()) stop for loop // 0 so exits the for loop
Сначала печатается 5, затем 2 (без перевода строки), следовательно, выводится 52.