Reescreva o programa da Figura 4.2 de modo que a inicialização da variável contador seja feita na declaração, e não na estrutura for.

Passo 1

Fala aí, beleza? Nesse problema, temos o seguinte programa em C:

Tá, mas o que tá acontecendo aqui? Estamos fazendo um programa que imprime os números de 1 até 10.

Na função main, temos uma variável inteira chamada contador que é inicializada com 1 e aumenta uma unidade a cada repetição dentro do laço for. Ou seja, o que tá dentro do for vai se repetir até que se alcance a condição de parada (que nesse caso seria contador ter um valor maior que 10). Até lá vamos imprimir o valor atual do contador e pular uma linha, e como começamos de 1 até o contador ser menor ou igual a 10, imprimindo os números de 1 a 10.

O programa pede que a gente inicialize a variável contador na declaração dela, e não dentro do for.

Lembrando que “declarar” uma variável significa dizer o tipo e o nome dela pela primeira vez (no nosso exemplo, “int contador;”), e que “inicializar” uma variável significa atribuir um valor pela primeira vez (no nosso exemplo, “contador = 1;”).

Com isso em mente, vamos para o exercício?!

Passo 2

Nossa primeira preocupação é apagar a inicialização do for (o problema já diz que não quer que seja inicializado lá). Não esqueça que mesmo assim tem que manter o primeiro “;”.

Oi? E pode isso, Arnaldo?

SIM! Saiba que podemos, inclusive, fazer um for com as 3 partes vazias (não esquecendo de manter o ponto-e-vírgula) e inicializar a variável, condição de parada e incrementá-la em outros locais do código! Mas sem enrolação, faríamos essa modificação aqui:

Tá, mas agora, o contador não tem um valor inicial! Por isso mesmo o problema pediu pra inicializar lá na declaração, então nosso “int contador;” será substituído por “int contador = 1;”.

E não se preocupe, se você rodar tanto nosso código agora quanto o do enunciado, teremos essa mesma saída:

Resposta