Considere o trecho de código em linguagem de programação C a...
Considere o trecho de código em linguagem de programação C a seguir:
main()
{
int myCount = 0;
while (myCount < 10)
{
printf("%d",myCount+1);
}
system("pause");
}
Assinale a alternativa que apresenta, corretamente, o que esse trecho de código fará ao ser executado.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: E - Entrará em looping infinito.
Para resolver esta questão, é necessário compreender os conceitos básicos de programação em linguagem C, especialmente estruturas de repetição (loops) como o while
, e saída de dados utilizando a função printf
. O trecho de código em questão tem a finalidade de mostrar como o loop while
pode ser usado para repetir um bloco de código enquanto uma condição for verdadeira.
A condição do loop é myCount < 10
, o que significa que o loop deveria continuar enquanto o valor da variável myCount
for menor que 10. No entanto, dentro do loop, a variável myCount
não está sendo atualizada; isto é, não há incremento de myCount
que faria a condição eventualmente se tornar falsa (myCount
alcançaria 10). Portanto, a condição do loop permanecerá sempre verdadeira, resultando em um looping infinito.
A função printf("%d",myCount+1);
imprime o valor de myCount+1
, mas como mencionado, myCount
nunca é incrementada dentro do loop. Isso significa que myCount+1
sempre será 1, e essa impressão ocorrerá indefinidamente em vez de apenas 10 vezes como algumas alternativas poderiam sugerir.
As outras alternativas são incorretas porque:
- A: Não mostrará os valores de 0 a 9, pois não há incremento de
myCount
. - B: Não mostrará os valores de 1 a 10, pelo mesmo motivo que a alternativa A é incorreta.
- C: Não escreverá
myCount
10 vezes, o loop não tem um ponto de parada definido. - D: Não escreverá o número 0 por 10 vezes, pois mesmo que
myCount
estivesse sendo incrementado corretamente, a impressão seria demyCount+1
, e não demyCount
que é inicializado com 0.
Compreender esse conceito é fundamental para evitar erros comuns na programação, como loops infinitos que podem causar falhas de execução ou até mesmo travamento do sistema em que o código está rodando. Sempre verifique se há uma condição de saída adequada em seus loops para que seu programa funcione como esperado.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo