Una función es un conjunto de declaraciones para realizar una tarea específica. Sin escribir todas las declaraciones en el mismo programa, se puede dividir en múltiples funciones. En la programación, el usuario puede definir sus propias funciones. También hay funciones proporcionadas por lenguajes de programación. El lenguaje C proporciona una serie de funciones, por lo que el programador puede usarlas directamente sin implementarlas desde el principio. Dos de estas funciones proporcionadas por el idioma C son Scanf y obtienen. Este artículo analiza la diferencia entre estas dos funciones. El diferencia clave entre scanf y gets es que Scanf termina tomando información al encontrar un espacio en blanco, una línea nueva o final del archivo (EOF) mientras que Gets considera un espacio en blanco como parte de la cadena de entrada y finaliza la entrada al encontrar Newline o EOF.
1. Descripción general y diferencia de claves
2. Que es scanf
3. Lo que se obtiene
4. Similitudes entre scanf y gets
5. Comparación de lado a lado: SCANF VS se obtiene en forma tabular
6. Resumen
La función de scanf puede leer la entrada del teclado y los almacena de acuerdo con el especificador de formato dado. Lee la entrada hasta que se encuentre con un espacio en blanco, nueva línea o EOF. La sintaxis es la siguiente.
scanf ("cadena de formato", lista de dirección de variables);
Consulte el ejemplo que se da a continuación para comprender SCANF.
Figura 01: escaneo con una entrada
Según el programa anterior, la entrada que obtiene del teclado es un entero, por lo que el especificador de formato es %D. Si está obteniendo un valor de personaje, el especificador de formato es %C. Si obtiene un valor de punto flotante, el especificador de formato es %F. El valor de entrada recibido debe almacenarse en la variable de número. Por lo tanto, la dirección del número de variable se pasa a la función de scanf. Ahora la variable de número contiene el valor dado por el usuario desde el teclado. Finalmente, podemos imprimir la variable de número para verificar el valor.
También es posible recibir más de un valor a la vez.
Figura 02: escaneo con múltiples entradas
Las entradas recibidas se almacenan en la variable número1 y número2. Los valores se pueden verificar usando printf.
Obtiene la función para recibir la entrada del teclado hasta encontrar una nueva línea o EOF. El espacio en blanco se considera como parte de la entrada. La función de sintaxis para gets es la siguiente.
obtiene ("dónde almacenar la cadena");
Si hay un error al recibir la cadena, la función gets devolverá un valor nulo.
Consulte el siguiente ejemplo,
Figura 03: Obtiene
La entrada es recibida por la función GETS y se almacena en Variable Word1. Si el programador usó scanf en lugar de obtener e ingresar una cadena como "Hello World", Scanf leerá la cadena como dos cadenas debido al espacio en blanco. Pero Gets lo leerá como una cadena "Hola mundo".
scanf vs gets | |
ScanF es una función C para leer la entrada de la entrada estándar hasta que se encuentre con un espacio en blanco, nueva línea o EOF. | Gets es una función C para leer la entrada de la entrada estándar hasta encontrar una nueva línea o EOF. Considera el espacio en blanco como parte de la entrada. |
Sintaxis | |
La función Scanf toma la cadena de formato y la lista de direcciones de variables. mi.gramo. scanf ("%d" y número); | Gets La función toma el nombre de la variable para almacenar el valor recibido. mi.gramo. obtiene (nombre); |
Flexibilidad | |
ScanF puede leer múltiples valores de diferentes tipos de datos. | gets () solo obtendrá datos de cadenas de caracteres. |
scanf y gets son funciones proporcionadas por el lenguaje de programación c. El usuario no necesita implementar estas funciones desde el principio. Pueden usarlos directamente en sus programas. La diferencia entre SCANF y Gets es que SCANF termina tomando información al encontrar un espacio en blanco, una nueva línea o al final del archivo (EOF) y obtiene un espacio en blanco como parte de la cadena de entrada y finaliza la entrada al encontrar Newline o EOF. Usar scanf o gets depende de la forma de recibir la entrada del usuario de la entrada estándar, que es el teclado la mayor parte del tiempo. scanf es más flexible de lo que obtiene.
Puede descargar la versión PDF de este artículo y usarla para fines fuera de línea según la nota de cita. Descargue la versión pdf aquí diferencia entre scanf y gets
1.Ladinglad., Función 'scanf () en el lenguaje de programación C Tutorial de video' YouTube ', YouTube, 23 APR. 2013. Disponible aquí
2.LearningLad, 'gets () Función de entrada de cadena en el lenguaje de programación C Tutorial de video', YouTube, YouTube, 6 de mayo de 2013. Disponible aquí