SóProvas


ID
5437342
Banca
CESPE / CEBRASPE
Órgão
PG-DF
Ano
2021
Provas
Disciplina
Programação
Assuntos

#include <stdio.h> 

int main ( ) {
    int vetor[10], i = 0, j = 0, auxiliar = 0;

    for (i = 0; i < 10; i++) {
        printf ("Digite um numero inteiro: ");
        scanf ("%d", &auxiliar);
        vetor[i] = auxiliar;
    }
    
    for (i = 0; i < 10; i++) {
        for (j = i+1; j < 10; j++) {
            if ( vetor[i] > vetor [j]) {
                auxiliar = vetor [i];
                vetor[i] = vetor[j];
                vetor[j] = auxiliar;
            }
        }
    }

for (i = 0; i < 10; i++) {
    printf ("\n\n vetor[%d] = %d", i, vetor[i]);
    }

    system ("PAUSE");
    return 0;
}

Tendo como referência o código precedente, escrito em linguagem de programação ANSI C, julgue o item subsecutivo.

O parâmetro %d, utilizado na linha scanf ("%d", &auxiliar);, permite a digitação apenas de números inteiros.

Alternativas
Comentários
  • O gabarito deveria ser Errado.

    scanf ESPERA (assume), nesse caso, que o usuário insira um número inteiro corretamente.

    Porém, não limita a digitação de entrada. O usuário pode digitar qualquer coisa, inclusive letras. O programa, da forma que está, não limita nem trata entradas incorretas.

    O código pode ser testado aqui: https://onlinegdb.com/K79ocSnpM

  • Acredito que a questão é considerada correta porque C o %d espera um número inteiro. Assim como o %c é caractere, %f é para real e %s cadeia de caracteres.

    http://linguagemc.com.br/operacoes-de-entrada-e-saida-de-dados-em-linguagem-c/

  • Gabriel você está extrapolando, o scanf só funciona se alguém digitar, questão correta.