Esta publicación é moi básica, pero ensínanos a ler unha variable dada por un usuario en C usando a función SCANF. Con esta función podemos ler calquera tipo de datos, sempre que especifique o seu tipo correctamente.
chámase scanf
porque explica de acordo con un formato. Como primeiro argumento, recibe o formato (unha cadea) e como segundo argumento o enderezo da memoria onde vai poñer o valor Ler.
Dixo a función de ler datos por teclado en C está no STDIO. A biblioteca H, única que debemos facer é incluíla con #include <stdio.h>
.
Como ler variables con Scanf
Para este primeiro declaramos A variable e, a continuación, chamamos á función, pasando a dirección da variable usando o operador &
. Por certo, cando lemos as cadeas que non son necesarias, pasamos o nome da variable sen obter o seu enderezo.
Ler unha variable enteira en C
é así:
Ver a idea de GitHub.
O printf antes de que o SCANF serve para indicar ao usuario o que debería facer, porque Scanf detén o programa ata que le o valor. O formato usado é% d.
Obter un valor flotante por teclado
o mesmo que fixemos por un enteiro, pero agora cun flotante. Hai así:
Ver a idea de GitHub.
O formato é% f. Preste atención cando imprimamos o número, usamos% 0.2F para que imprimise só 2 decimais despois do punto; Isto non é para mostrar o número na súa máxima expresión; Pero se queres, simplemente podes usar% f.
Ler a cadea con SCANF
Para ler unha cadea en C é case o mesmo, pero agora non pasamos o enderezo de memoria porque Unha cadea xa é un punteiro para o primeiro carácter que o forma.
Ver a idea de GitHub.
Nota: Por favor, lea por que usar FIGES en vez de Scanf se quere mellorar a seguridade dos seus programas.
Máis formatos
Pode ler variables de moitos tipos; Especificando o formato. Dos que recordo, son:
% d para números enteiros declarados con int
% s por cadeas declaradas con char*
ou char cadena
% C para caracteres declarados con char
% F para flotar declarado con float
% l para números enteiros declarados como long
% LLU para números enteiros que son unsigned long long
(usamos isto cando vimos como converter binario a decimal)