1. Desconsiderando a saída do comando system("pause"), qual a saída do printf?

#include

main()
{
int i;
i=10;
while(i >= 0){
printf(" %d ",i);
i--;
}
system("pause");
}

a) 10 9 8 7 6 5 4 3 2 1 0
b) 9 8 7 6 5 4 3 2 1 0
c) 9 8 7 6 5 4 3 2 1
d) 10 9 8 7 6 5 4 3 2 1
-----------------------------------------------------------------------------------------------------------
2. Desconsiderando a saída do system("pause"), qual a saída dos printfs?

#include

main()
{
int i;
i=10;
while(i >= 0){
printf(" %d ",i);
i--;
}
printf(" %d ",i);
}

a) 10 9 8 7 6 5 4 3 2 1 0 -1
b) 10 9 8 7 6 5 4 3 2 1 -1
c) 10 9 8 7 6 5 4 3 2 1 0
d) 9 8 7 6 5 4 3 2 1 0

1

Respostas

2014-05-06T01:27:06-03:00
A é a letra a)
Pois o i vai começar em zero e terminar em -1, mas só vai ser impresso pelo printf enquanto o i >= 0, então será impresso até o zero.

Na 2ª será impresso até o zero dentro do laço while, mas quando o valor do i = -1 ele sai do laço e o printf fora do laço imprime o -1. Então será mostrado na tela do 10 até o -1.
Alternativa a).

Veja o programa nas imagens: