Índice:
Definição - O que significa Scanf?
Na linguagem de programação C, scanf é uma função que lê dados formatados de stdin (ou seja, o fluxo de entrada padrão, que geralmente é o teclado, a menos que seja redirecionado) e depois grava os resultados nos argumentos apresentados.
Essa função pertence a uma família de funções que possuem a mesma funcionalidade, mas diferem apenas na fonte de dados. Por exemplo, o fscanf obtém sua entrada de um fluxo de arquivos, enquanto o sscanf obtém sua entrada de uma sequência.
Techopedia explica Scanf
A função scanf possui o seguinte protótipo / assinatura:
int scanf (formato const char *, …);
Onde
- int (inteiro) é o tipo de retorno
- formato é uma sequência que contém o (s) especificador (es) de tipo (veja abaixo)
- "…" (reticências) indica que a função aceita um número variável de argumentos; cada argumento deve ser um endereço de memória onde o resultado convertido é gravado em
Um especificador de tipo simples consiste em um símbolo de porcentagem (%) e um caractere alfa que indica o tipo. Abaixo estão alguns exemplos dos especificadores de tipo reconhecidos pelo scanf:
- % c - Personagem
- % d - Inteiro assinado
- % x - número inteiro não assinado em formato hexadecimal
- % f - ponto flutuante
- % s - String
A função funciona lendo a entrada do fluxo de entrada padrão e, em seguida, varre o conteúdo de "formato" em busca de qualquer especificador de formato, tentando combinar os dois. Em caso de sucesso, a função grava o resultado no (s) argumento (s) passado (s).
Por exemplo, se a chamada de função for
scanf ("% c% d", & var1, & var2);
e o usuário digitar "a1", a função gravará "a" em "var1" e "1" em "var2". Se a chamada de função, no entanto, for
scanf ("% x", & var);
a mesma entrada será lida como o número hexadecimal "a1", que é 161 em decimal.
A função retorna o seguinte valor:
- > 0 - O número de itens convertidos e atribuídos com sucesso.
- 0 - Nenhum item foi atribuído.
- <0 - Erro de leitura encontrado ou o fim do arquivo (EOF) alcançado antes de qualquer atribuição.
