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 é i + + , e na segunda é + + i .

No primeiro trecho o argumento dentro do while começa com 0 , porque quando temos algo do tipo i + + primeiro analisamos o valor de i 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 é 1 , ou seja, verdadeiro. O programa vai entrar no laço, e vai escrever o valor de i 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.