Para a interação entre um usuário e um programa escrito em C, essa linguagem nos fornece a
função scanf. Essa, tem o objetivo de escanear um string digitada pelo usuário, converter e
atribuir o resultado à uma variável.
A função scanf aceita os tipos primitivos númericos, caracter e string. Para o uso da função scanf,
precisamos incluir a biblioteca stdio.
Sintaxe
int scanf( const char *format, ... );
Onde
format: string contendo especificar de formatação.
... : variáveis que irão receber os valores lidos
Retorno
> 0 :O valor foi convertido e atribuído a variável com sucesso
0 : O valor não foi atribuído
< 0 : Erro encontrado
Utilizando errno podemos recuperar o número
do último erro ocorrido.
Exemplo 1
#include <stdio.h>
void main()
{
int idade;
float altura;
char nome[10];
int retorno = scanf("%d",&idade);
retorno = scanf("%f",&altura);
retorno = scanf("%s",nome); //lê até espaço em branco
printf("idade: %d peso: %0.2f nome: %s",idade,altura,nome);
}
Entrada
1
1.90
fulano
Saída
idade: 1 peso: 1.90 nome: fulano
O uso do operador (&), que significa "endereço de", que deve sempre prefixar os nomes das variáveis em que
os valores lidos serão atribuídos. O uso desse operador será visto em
C Funções: Passagem por valor e referência.
No tópico C String: Formatação, vamos aprender a
ler e escrever dados formatados em strings.