Este post é muito básico, mas nos ensina como ler uma variável dada por um usuário em C usando a função SCANF. Com esta função, podemos ler qualquer tipo de dados, desde que especificamos seu tipo corretamente.
É chamado scanf
Porque ele digita de acordo com um formato. Como um primeiro argumento, ele recebe o formato (uma corrente) e como um segundo argumento o endereço de memória onde você colocará o valor lido.
As referidas funções para ler os dados por teclado em C estão no stdio. H Biblioteca, único que devemos fazer é incluí-lo com #include <stdio.h>
.
Como ler variáveis com a SCANF
para este primeiro, declaramos A variável e, em seguida, chamamos para a função, passando a direção da variável usando o operador &
. A propósito, quando lemos correntes que não são necessárias, passamos o nome da variável sem obter o seu endereço.
Leia uma variável inteira em C
é assim:
Veja a essência no GitHub.
O printf antes do scanf ser servido para indicar o usuário o que ele deve fazer, porque o Scanf faz uma pausa no programa até que ele lesse o valor. O formato usado é% d.
Obtenha um valor flutuante pelo teclado
o mesmo que fizemos por um inteiro, mas agora com um flutuante. Há assim:
Veja a essência no GitHub.
O formato é% F. Preste atenção quando imprimimos o número, usamos% 0,2F para que ele imprime apenas 2 decimais após o ponto; Isso não é para mostrar o número em sua expressão máxima; Mas se você quiser, pode simplesmente usar% f.
string de leitura com scanf
para ler uma string em c é quase o mesmo, mas agora não passamos o endereço de memória porque Uma cadeia já é um ponteiro para o primeiro caractere como forma.
Veja a essência no github.
NOTA: Por favor, leia por que use os fgets em vez de Scanf, se você quiser melhorar a segurança de seus programas.
Mais formatos
Você pode ler variáveis de muitos tipos; Especificando o formato. De que eu lembro, são:
% d para inteiros declarados com int
% s para as cordas declaradas com char*
ou char cadena
% c Para caracteres declarados com char
% F para flutuar declarado com float
% l para inteiros declarados como long
% llu para inteiros que são unsigned long long
(usamos isso quando vimos como converter binário para decimal)