Для продолжения цикла while условие должно быть истинным.копая глубже, мы видим
new_function(whatever) == true
состояние.Таким образом, результат зависит от
new_function(int)
, который вы написали выше.
Значения, которые ваш new_function(int)
получает в качестве аргумента, являются целыми числами.
Для такого типа его доменом являются целые числа изгде-то минус 2³¹ к положительному (2³¹ - 1) значению для 4-байтового целого.
Далее, перед началом цикла for создается новая переменная i
, инициализированная как 1, затем она проверяет, является ли i
меньше или равно x1
.Если true, то он продолжается, иначе завершает цикл for
и возвращает false
.Таким образом, из этих шагов мы видим, что для значения x1
ниже 1 new_function(int x1)
возвращает значение false, в противном случае он входит в цикл.
Далее, в цикл for, где case для i
от 1 до x1
, при условии, что x1
равно или больше 1, существует условная проверка if (i != 5)
, поскольку i
всегда инициализируется как 1, поэтому отличается от 5, всегда выполняет return true
,а остальная часть не достигнута.
Итак, до тех пор, пока вы дадите число больше 0, ваш код будет печататься как дикий запад.:)