Поведение вашего кода undefined , так как вы в конечном итоге переполните signed
целочисленный тип.
Таким образом, вывод может быть любым.
(В вашем случае кажется, что n
оборачивается вокруг в отрицательное число, поэтому условное выражение n > 3
больше не true
. Но не не полагаются на это поведение: некоторые архитектуры будут, например, зажимать n
.)