{"id":1281,"date":"2023-10-24T00:39:23","date_gmt":"2023-10-24T00:39:23","guid":{"rendered":"https:\/\/docentes.uaa.mx\/elmunoz\/?p=1281"},"modified":"2023-10-30T00:31:25","modified_gmt":"2023-10-30T00:31:25","slug":"unidad-tematica-iii-entrada-y-salida-de-datos","status":"publish","type":"post","link":"https:\/\/docentes.uaa.mx\/elmunoz\/2023\/10\/24\/unidad-tematica-iii-entrada-y-salida-de-datos\/","title":{"rendered":"UNIDAD TEM\u00c1TICA III. ENTRADA Y SALIDA DE DATOS"},"content":{"rendered":"<p><span style=\"color: #000000\">El lenguaje C proporciona un conjunto bastante amplio de capacidades de entrada\/salida de informaci\u00f3n hacia los diversos dispositivos como teclado y monitor. A este tipo de capacidades lo llamamos entrada\/salida de flujo de datos. <\/span><\/p>\n<p><span style=\"color: #000000\">En las operaciones de entrada (stdin), los bytes fluyen desde un dispositivo (teclado, archivo, red) hacia la memoria principal. En operaciones de salida (stdout) los bytes fluyen de la memoria principal hacia un dispositivo (pantalla, impresora, archivo, puertos, etc.). En ambos casos es necesario que el programador proporcione informaci\u00f3n del tipo de dato que fluye, ya que C no es capaz de determinarlos autom\u00e1ticamente, para ello se emplea una literal a al que denominaremos <em>\u201cplantilla de dato\u201d. <\/em><\/span><\/p>\n<p><span style=\"color: #000000\">Las funciones de entrada y salida no forman parte del lenguaje C propiamente dicho, sino que est\u00e1n en una biblioteca o librer\u00eda llamada &lt;stdio.h&gt;. Todo programa que utilice funciones de entrada y salida est\u00e1ndar deber\u00e1 contener la l\u00ednea:<strong> #include &lt;stdio.h&gt;<\/strong><\/span><\/p>\n<p style=\"text-align: center\"><span style=\"color: #000000\"><strong>FUNCIONES DE ENTRADA \/ SALIDA CON FORMATO<\/strong> <\/span><\/p>\n<p><strong><span style=\"color: #000000\">1. Funciones de Salida con formato <\/span><\/strong><\/p>\n<p><span style=\"color: #000000\">La<strong> funci\u00f3n printf<\/strong> permite dar salida a mensajes y valores de variables, y es una de las mas utilizadas para mostrar informaci\u00f3n en pantalla. (La salida est\u00e1ndar por defecto ser\u00e1 el monitor, aunque puede ser sustituida por alg\u00fan otro dispositivo como la impresora). La funci\u00f3n printf trabaja principalmente con dos tipos de elementos: <\/span><\/p>\n<p style=\"text-align: center\"><span style=\"color: #000000\">printf (\u201cMi edad es: <span style=\"color: #ff0000\">%d<\/span> \\n\u201d, edad); <\/span><\/p>\n<p><span style=\"color: #000000\">Por ejemplo, suponga que se desea imprimir en pantalla la informaci\u00f3n referente a la edad y el sueldo de un empleado:<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/IMG22.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-1289\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/IMG22-300x108.png\" alt=\"\" width=\"600\" height=\"215\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/IMG22-300x108.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/IMG22-768x275.png 768w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/IMG22.png 920w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000\">Los s\u00edmbolos de <strong>%d<\/strong> corresponden a los <strong>caracteres de control de formato<\/strong> (\u00e9stos aplican tanto a la entrada como a la salida de datos):<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img23.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1290\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img23-300x228.png\" alt=\"\" width=\"400\" height=\"303\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img23-300x228.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img23.png 563w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p><span style=\"color: #000000\">Un entero colocado entre el signo % y el comando de formato, act\u00faa como un <strong>especificador<\/strong> de anchura de campo m\u00ednimo. Por ejemplo, en el programa anterior podr\u00edamos haber desplegado el valor de tipo flotante ajustado a 2 d\u00e9cimas, sin importar la cantidad de enteros. <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">printf (\u201cla edad es <span style=\"color: #ff0000\">%d<\/span> y su salario es <span style=\"color: #ff0000\">%.2f<\/span> \\n\u201d, edad, salario); <\/span><\/p>\n<p><span style=\"color: #000000\">Con los especificadores %d, %i, %o, %u, y %x es posible emplear en combinaci\u00f3n la letra l y h para describir tipos de datos largos (long) y cortos (short) respectivamente; por ejemplo, %hd indica un entero corto. Con los especificadores %e, %f, y %g la letra l indicara un flotante de doble precisi\u00f3n, adem\u00e1s \u00e9stos especificadores pueden ser precedidos de del car\u00e1cter #, de manera que podamos asegurar que el punto flotante estar\u00e1 presente inclusive si no hay decimales. <\/span><\/p>\n<p><span style=\"color: #000000\">Tambi\u00e9n es posible combinar los especificadores de tipo de dato con las constantes de secuencias de escape para darle formato a la salida de nuestros programas. Las siguientes secuencias de escape pueden ser usadas para imprimir caracteres especiales.<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img24.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1291\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img24.png\" alt=\"\" width=\"372\" height=\"255\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img24.png 472w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img24-300x205.png 300w\" sizes=\"(max-width: 372px) 100vw, 372px\" \/><\/a><\/p>\n<p><span style=\"color: #000000\">Un ejemplo del uso de estos caracteres de escape es el siguiente:<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img25.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1292 alignleft\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img25-300x99.png\" alt=\"\" width=\"600\" height=\"198\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img25-300x99.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img25-768x253.png 768w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img25.png 916w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000\"><strong>2. Funciones de Entrada con formato <\/strong><\/span><\/p>\n<p><span style=\"color: #000000\">La funci\u00f3n scanf permite leer el flujo de datos de stdin (entrada est\u00e1ndar), de acuerdo al formato dado por la \u201cplantilla\u201d, es decir por el (%), y almacena los datos en los argumentos correspondientes (variables). <\/span><\/p>\n<p><span style=\"color: #000000\">Los <strong>caracteres de control para las funciones de entrada<\/strong> son precedidos por un signo %, de manera similar a la empleada en la funci\u00f3n printf. Los caracteres de control son como sigue:<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img26.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1293\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img26-300x154.png\" alt=\"\" width=\"500\" height=\"257\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img26-300x154.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img26.png 678w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p><span style=\"color: #000000\">scanf lee la entrada de datos, y concuerda los caracteres con el formato. Cuando un car\u00e1cter de control es le\u00eddo, este pone el valor en la siguiente variable. Los espacios en blanco (tabulador, espacios, etc.) son omitidos. Cualquier car\u00e1cter de no espacio en blanco puede ser concordado con la entrada. Si un numero es colocado entre el s\u00edmbolo % y el car\u00e1cter de control, entonces \u00fanicamente esa cantidad de caracteres ser\u00e1 convertido a la variable indicada. Si scanf encuentra un conjunto de caracteres, denotado por el car\u00e1cter de control %[ ], entonces cualquier car\u00e1cter encontrado entre los par\u00e9ntesis cuadrados ser\u00e1 le\u00eddo por la variable. <\/span><\/p>\n<p><span style=\"color: #000000\">Debido a que C fue concebido como un lenguaje muy cercano al manejo de la memoria de la computadora, la captura de datos debe ser enviada directamente a la direcci\u00f3n de la variable en memoria, por lo que es necesario anteponer el s\u00edmbolo <strong>&amp;<\/strong> (amperson) a todas las variables involucradas en la captura. Mas adelante veremos que \u00e9ste s\u00edmbolo nos permite obtener la direcci\u00f3n de la variable en memoria, elemento indispensable en el manejo de punteros. <\/span><\/p>\n<p><span style=\"color: #000000\">A continuaci\u00f3n se presenta un ejemplo donde se realiza un proceso de captura de datos, se considera un dato tipo char, int y float. Observe que la plantilla corresponde a cada uno de los datos que se pretende capturar, adem\u00e1s cada una de las variables que se pretenden capturar tienen de manera antepuesta el s\u00edmbolo &amp;.<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img27.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-1294\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img27.png\" alt=\"\" width=\"580\" height=\"206\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img27.png 780w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img27-300x107.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img27-768x273.png 768w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000\">Recuerda que es posible capturar m\u00faltiples variables en la misma instrucci\u00f3n scanf, aunque se recomienda utilizar una instrucci\u00f3n scanf por cada variable, ya que esto reduce en ocasiones la posible confusi\u00f3n al momento de la captura ya que se puede solicitar el dato preciso, reduciendo la posibilidad de un ingreso err\u00f3neo de datos.<\/span><\/p>\n<p><span style=\"color: #000000\"> De \u00e9sta manera es posible reescribir el programa anterior, de modo que luzca mas ordenado: <\/span><\/p>\n<p><span style=\"color: #000000\">#include &lt;stdio.h&gt;<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img28.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1295 alignleft\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img28.png\" alt=\"\" width=\"590\" height=\"227\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img28.png 890w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img28-300x115.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img28-768x295.png 768w\" sizes=\"(max-width: 590px) 100vw, 590px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3>FUNCIONES DE ENTRADA \/ SALIDA SIN FORMATO<\/h3>\n<p><span style=\"color: #000000\"><strong>1. Funciones de salida sin formato<\/strong> <\/span><\/p>\n<p><span style=\"color: #000000\">Las operaciones de salida de datos sin formato se realizan con bytes, lo cual significa que no se pueden utilizar los formatos (%). Existen diversas funciones para mostrar datos en pantalla, cabe se\u00f1alar que estas funciones <strong>solo permiten mostrar<\/strong> caracteres y\/o cadenas: <\/span><\/p>\n<p><strong><span style=\"color: #000000\">putchar(car\u00e1cter) y putc(car\u00e1cter). <\/span><\/strong><\/p>\n<p><span style=\"color: #000000\">Ambas funciones muestran un car\u00e1cter en pantalla. Es el equivalente a printf(\u201c%c\u201d,car\u00e1cter);<\/span><\/p>\n<p><span style=\"color: #000000\"> Ejemplo empleando la funci\u00f3n putchar: imprimir las vocales del abecedario.<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img29.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-1296 size-large\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img29-1024x393.png\" alt=\"\" width=\"640\" height=\"246\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img29-1024x393.png 1024w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img29-300x115.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img29-768x295.png 768w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img29.png 1037w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000\">El mismo efecto puede ser producido con la funci\u00f3n putc, solo que hay que especificar la salida por defecto a la que se enviara, puede ser un archivo o la salida est\u00e1ndar (monitor).<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img30.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-1297\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img30.png\" alt=\"\" width=\"332\" height=\"183\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img30.png 492w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img30-300x165.png 300w\" sizes=\"(max-width: 332px) 100vw, 332px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong><span style=\"color: #000000\">puts(cadena).<\/span><\/strong><\/p>\n<p><span style=\"color: #000000\"> Muestra una cadena en pantalla. Es el equivalente a printf(\u201c%s\u201d,cadena); <\/span><\/p>\n<p><span style=\"color: #000000\">Un ejemplo de esta funci\u00f3n es:<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img31.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-1298\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img31.png\" alt=\"\" width=\"218\" height=\"81\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img31.png 318w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img31-300x111.png 300w\" sizes=\"(max-width: 218px) 100vw, 218px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong><span style=\"color: #000000\">NOTA: La mayor\u00eda de los sistemas operativos utilizan buffers para gestionar las operaciones de entrada\/salida, por lo que no se leer\u00e1 un car\u00e1cter hasta que el usuario introduzca un ENTER y, posiblemente, no se mostrar\u00e1 nada por pantalla hasta que se tenga una l\u00ednea completa por mostrar.<\/span><\/strong><\/p>\n<p><span style=\"color: #000000\"><strong>2. Funciones de entrada sin formato<\/strong> <\/span><\/p>\n<p><span style=\"color: #000000\">Las operaciones de entrada de datos sin formato se realizan con bytes, lo cual significa que no se pueden utilizar los formatos (%). Existen diversas funciones para leer datos desde teclado y cabe se\u00f1alar que estas funciones <strong>solo permiten leer o capturar<\/strong> caracteres y\/o cadenas:<\/span><\/p>\n<p><span style=\"color: #000000\"><strong> getchar(car\u00e1cter).<\/strong> <\/span><\/p>\n<p><span style=\"color: #000000\">Esta funci\u00f3n permite capturar un car\u00e1cter a la vez. Esto equivale a scanf(\u201c%c\u201d,<strong>&amp;<\/strong>car\u00e1cter); Por ejemplo, podemos capturar cualquier car\u00e1cter desde teclado simple y mostrar el valor en pantalla:<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img32.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-1299\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img32-300x77.png\" alt=\"\" width=\"400\" height=\"103\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img32-300x77.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img32.png 667w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img33.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-1300\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img33.png\" alt=\"\" width=\"157\" height=\"38\"><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000\">La funci\u00f3n getchar requiere que el usuario presione la tecla ENTER de manera que el flujo de datos sea empujado y la ejecuci\u00f3n de la funci\u00f3n termine. <\/span><\/p>\n<p><strong><span style=\"color: #000000\">getch() y getche() <\/span><\/strong><\/p>\n<p><span style=\"color: #000000\">Estas funciones realizan un proceso similar que getchar solo que no requieren que se presione la tecla ENTER para ser ingresadas en el flujo de datos. Estas funciones est\u00e1n disponibles en una librer\u00eda llamada <strong>&lt;conio.h&gt;.<\/strong><\/span><\/p>\n<p><strong><span style=\"color: #000000\">NOTA: La librer\u00eda &lt;conio.h&gt; alguna vez fue propiedad exclusiva de Borland, aunque es posible encontrar implementaciones de la misma en varios compiladores diferentes a Borland. Desafortunadamente el comportamiento de \u00e9stas funciones no se rigen bajo el est\u00e1ndar de ANSI C, y m\u00e1s a\u00fan, son imposibles de usar en el esquema de POXIS (Unix). Lo cual significa que esta librer\u00eda no existe en DevC++, pero si es posible implementarla.<\/span><\/strong><\/p>\n<p><span style=\"color: #000000\">Ejemplo de uso de getche() para determinar cuantas veces se repite una vocal. La lectura se termina cuando se presiona la letra x.<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img34.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1301 alignleft\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img34-300x211.png\" alt=\"\" width=\"500\" height=\"352\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img34-300x211.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img34-768x541.png 768w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img34.png 861w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong><span style=\"color: #000000\">gets(cadena)<\/span><\/strong><\/p>\n<p><span style=\"color: #000000\"> Esta funci\u00f3n lee una cadena desde el teclado. Equivale a scanf(\u201c%s\u201d,cadena); <\/span><\/p>\n<p><span style=\"color: #000000\">Un ejemplo con gets es el siguiente: <\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>El lenguaje C proporciona un conjunto bastante amplio de capacidades de entrada\/salida de informaci\u00f3n hacia los diversos dispositivos como teclado y monitor. A este tipo&#8230;<\/p>\n","protected":false},"author":13,"featured_media":1315,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1281","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-logica"],"_links":{"self":[{"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/posts\/1281"}],"collection":[{"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/comments?post=1281"}],"version-history":[{"count":3,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/posts\/1281\/revisions"}],"predecessor-version":[{"id":1302,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/posts\/1281\/revisions\/1302"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/media\/1315"}],"wp:attachment":[{"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/media?parent=1281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/categories?post=1281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/tags?post=1281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}