Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Aprender sobre a função scanf
  2. Limitar caracteres lidos em %s

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.

  1. 05/10/2024 - revisão 2 - Ajustes pontuais
  2. 27/09/2023 - revisão 1 - Correção em link/referências, descrição do scanf, erros gramaticais e outros
  3. 19/05/2023 - versão inicial