while(condition)
цикл выполняется, как предполагает его имя, , в то время как условие истинно (или не равно нулю в C). Как только он становится False (или 0), цикл прерывается. Если вы поместите n==0
в качестве условия, цикл будет немедленно прерван. Вы можете изменить это, набрав while(n != 0)
или while(!(n==0))