Múltiplos de 2 com um loop infinito. Escreva um programa que continue imprimindo os múltiplos do inteiro 2, a saber 2, 4, 8, 16, 32, 64 e assim por diante. Seu loop não deverá terminar (ou seja, você deverá criar um loop infinito). O que acontece quando você executa esse programa?

Passo 1

Fala Galera!!! Tudo certo? Espero que sim!!! Bora para mais um exercício.

Vamos criar um programa que contenha um loop infinito de múltiplos de 2, ou seja, vamos multiplicar o numero 2 por eles mesmo infinitas vezes. Para isso vamos usar uma estrutura de repetição sem condição se parada.

Passo 2

Escrevendo o programa:

#include

int main()

{

int multiple = 1; /

/* contador */

/* Loop infinito */

while ( multiple > 0 ) {

/* calcula a próxima potência de dois */

multiple *= 2;

printf( "%d\n", multiple );

} /* end while */

return 0;

} /* end main */

Passo 3

A saída será:

A execução do programa termina quando o maior inteiro é excedido (ou seja, o teste de continuação do loop falha quando o valor máximo de um inteiro é excedido. Em um sistema de 4 bytes, o maior valor inteiro é 2147483647 e qualquer coisa acima que é representado por um número negativo, que falha no teste de continuação de loop).

E assim finalizamos mais um exercício!!! Até o próximo galera!!

Resposta

#include

int main()

{

int multiple = 1;

/* contador */

/* Loop infinito */

while ( multiple > 0 ) {

/* calcula a próxima potência de dois */

multiple *= 2;

printf( " %d\n", multiple );

} /* end while */

return 0;

} /* end main */