4.18. Qual a diferença entre os dois trechos de código:

Passo 1
Vamos lá!
A única diferença entre um trecho e outro é o argumento do while. No primeiro trecho, a condição é , e na segunda é .
No primeiro trecho o argumento dentro do while começa com , porque quando temos algo do tipo primeiro analisamos o valor de e depois adicionamos o incremento. Então estamos colocando no argumento o valor zero, ou seja, estamos dizendo que é falso e não vamos entrar no laço. Podemos dizer que nesse trecho de programa nada é escrito na tela.
Passo 2
No segundo trecho o argumento é primeiro incrementado e depois é analisado. Então quando o programa roda o argumento dentro do while é , ou seja, verdadeiro. O programa vai entrar no laço, e vai escrever o valor de na tela. Nesse caso estamos diante de um laço infinito, porque o argumento vai ser sempre diferente de zero.
Resposta
O primeiro trecho não entra no laço porque o argumento do while é zero.
O segundo trecho resulta em um loop infinito, pois o argumento dentro do while é sempre diferente de zero.