scanf e entrada
Leia a entrada do usuário.
scanf e entrada é uma aula grátis de C Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C Academy inclui 4 aulas no total.
O que a leitura formatada faz
scanf lê a entrada formatada digitada pelo usuário. Ela usa os mesmos especificadores que printf.
#include <stdio.h>
int main(void) {
int x = 0;
/* scanf("%d", &x); */
x = 5;
printf("x = %d\n", x);
return 0;
}O operador de obtenção de endereço
scanf precisa do endereço de uma variável para poder armazenar o valor nesse local. Por isso, escrevemos &x.
#include <stdio.h>
int main(void) {
int x = 42;
int *p = &x;
printf("value via address = %d\n", *p);
return 0;
}Lendo um inteiro
Para ler um inteiro, passe %d e o endereço de um int.
#include <stdio.h>
int main(void) {
int n;
/* scanf("%d", &n); */
n = 7;
printf("You entered %d\n", n);
return 0;
}Lendo um número real
Para ler um float, use %f; para um double, use %lf.
#include <stdio.h>
int main(void) {
double d;
/* scanf("%lf", &d); */
d = 3.14;
printf("d = %.2f\n", d);
return 0;
}Lendo vários valores
Uma chamada de scanf pode ler vários valores separados por espaços em branco.
#include <stdio.h>
int main(void) {
int a, b;
/* scanf("%d %d", &a, &b); */
a = 3; b = 4;
printf("sum = %d\n", a + b);
return 0;
}Lendo um caractere
Use %c para ler um caractere. Atenção: ele também lê espaços e quebras de linha.
#include <stdio.h>
int main(void) {
char c;
/* scanf(" %c", &c); */
c = 'X';
printf("char = %c\n", c);
return 0;
}Lendo uma palavra
%s lê uma palavra delimitada por espaços em branco para um vetor de caracteres. Não é necessário usar &, pois o nome de um vetor já é um endereço.
#include <stdio.h>
int main(void) {
char word[20];
/* scanf("%s", word); */
word[0] = 'H'; word[1] = 'i'; word[2] = 0;
printf("word = %s\n", word);
return 0;
}Valor de retorno da leitura formatada
scanf retorna quantos itens foram lidos com sucesso. Verifique esse valor para detectar uma entrada inválida.
#include <stdio.h>
int main(void) {
int n = 5;
int read = 1; /* pretend scanf returned 1 */
if (read == 1)
printf("got %d\n", n);
return 0;
}Ignorando espaços iniciais
Os especificadores numéricos ignoram automaticamente os espaços em branco iniciais, mas %c não. Um espaço antes de %c resolve esse problema.
#include <stdio.h>
int main(void) {
char c = 'Y';
printf("Reading with \" %%c\" skips spaces\n");
printf("c = %c\n", c);
return 0;
}Validando a entrada
Verifique sempre o valor de retorno antes de confiar nos dados.
#include <stdio.h>
int main(void) {
int value = 10;
int ok = 1;
if (ok)
printf("valid: %d\n", value);
else
printf("invalid input\n");
return 0;
}Reunindo tudo
Um programa típico solicita uma entrada, lê e depois usa o valor.
#include <stdio.h>
int main(void) {
int age;
printf("Enter age: ");
/* scanf("%d", &age); */
age = 20;
printf("Next year you will be %d\n", age + 1);
return 0;
}Verificação rápida
Teste sua compreensão de scanf.
Recapitulação: scanf e entrada
Você aprendeu a ler a entrada do usuário.
scanfusa especificadores no estilo de printf- Passe
&varpara que ele saiba onde armazenar o valor - Use
%lfpara double e%spara palavras - Verifique o valor de retorno para validar a entrada
- Coloque um espaço antes de
%cpara ignorar espaços em branco
Perguntas Frequentes
A aula “scanf e entrada” é grátis?
Sim — o texto completo de “scanf e entrada” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C Academy, atualize para CoddyKit PRO. O curso de C Academy inclui 4 aulas no total.
O que vou aprender em “scanf e entrada”?
Leia a entrada do usuário. Você pratica C Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar C Academy?
Nenhuma experiência prévia é necessária. C Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “scanf e entrada”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de C Academy?
Sim. Cada aula de C Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Especificadores de formato de printf
- scanf e entrada
- Largura, precisão e flags
- Armadilhas comuns de E/S