Fácil C
Lendo e exibindo um número inteiro
Enunciado
Escreva um programa que leia um número inteiro digitado pelo usuário e o exiba na tela.
Requisitos
- Usar
scanfpara ler o número inteiro. - Usar
printfpara exibir o valor lido. - A saída deve conter a mensagem
Voce digitou: X, onde X é o número.
Código inicial
#include <stdio.h>
int main(void) {
int numero;
// Seu código aqui
return 0;
}
Saída esperada
Digite um numero inteiro: 42
Voce digitou: 42
Ver dica
Use scanf("%d", &numero); para ler e printf("Voce digitou: %d\n", numero); para exibir.
Mostrar solução
#include <stdio.h>
int main(void) {
int numero;
printf("Digite um numero inteiro: ");
scanf("%d", &numero); // lê um inteiro do teclado
printf("Voce digitou: %d\n", numero); // exibe o valor lido
return 0;
}
Passo a passo
- Incluímos
<stdio.h>para ter acesso aprintfescanf. - Declaramos a variável
numerodo tipointpara armazenar o valor lido. printfexibe a mensagem pedindo o número.scanf("%d", &numero)lê um inteiro da entrada padrão e o armazena emnumero. O&é necessário para passar o endereço da variável.printffinal exibe o valor formatado com%d.
Por que funciona
scanf com %d lê uma sequência de dígitos e converte para int, armazenando no endereço fornecido. printf com %d formata um int como texto decimal. A combinação é a base para entrada e saída de inteiros em C.
Erros comuns
- Esquecer o
&emscanf("%d", numero);– causa comportamento indefinido (provavelmente falha de segmentação). - Usar
%fpara ler umint– o programa pode ler lixo ou travar. - Não incluir
<stdio.h>– o compilador emite avisos e o programa pode não funcionar.
Outra forma de resolver
Poderia usar fgets e sscanf para ler a linha e depois extrair o número, mas para inteiros simples scanf é direto e idiomático.
Saída esperada
Digite um numero inteiro: 42
Voce digitou: 42