<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>http://wiki.cabal.mx/index.php?action=history&amp;feed=atom&amp;title=Curso_de_Programaci%C3%B3n_en_C%2FProg79</id>
	<title>Curso de Programación en C/Prog79 - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.cabal.mx/index.php?action=history&amp;feed=atom&amp;title=Curso_de_Programaci%C3%B3n_en_C%2FProg79"/>
	<link rel="alternate" type="text/html" href="http://wiki.cabal.mx/index.php?title=Curso_de_Programaci%C3%B3n_en_C/Prog79&amp;action=history"/>
	<updated>2026-04-05T21:05:42Z</updated>
	<subtitle>Historial de revisiones para esta página en el wiki</subtitle>
	<generator>MediaWiki 1.32.1</generator>
	<entry>
		<id>http://wiki.cabal.mx/index.php?title=Curso_de_Programaci%C3%B3n_en_C/Prog79&amp;diff=3701&amp;oldid=prev</id>
		<title>Arksega: /* Prog79 */</title>
		<link rel="alternate" type="text/html" href="http://wiki.cabal.mx/index.php?title=Curso_de_Programaci%C3%B3n_en_C/Prog79&amp;diff=3701&amp;oldid=prev"/>
		<updated>2012-05-12T21:30:46Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Prog79&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
* [[:#Prog79 | Strings]]&lt;br /&gt;
** [[:#Resultado | Resultado]]&lt;br /&gt;
** [[:#Explicación | Explicación]]&lt;br /&gt;
&lt;br /&gt;
== Prog79 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot; line=&amp;quot;GESHI_FANCY_LINE_NUMBERS&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define MSG &amp;quot;Debe tener muchos talentos. Me dicen algunos.&amp;quot;&lt;br /&gt;
#define LIM  5&lt;br /&gt;
#define LINEATAMANO 81        // tamaño maximumo + 1&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
  char nombre[LINEATAMANO],&lt;br /&gt;
       talentos[LINEATAMANO];&lt;br /&gt;
&lt;br /&gt;
  const char m1[40] = &amp;quot;Limitarte a una sola línea.&amp;quot;,&lt;br /&gt;
             m2[]   = &amp;quot;Si no puedes pensar en nada, falsificarlo.&amp;quot;,&lt;br /&gt;
             *m3    = &amp;quot;\nSuficiente acerca de mí - ¿cuál es tu nombre?&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
             *mital[LIM] = {&lt;br /&gt;
                             &amp;quot;Adición de números rápidamente&amp;quot;,&lt;br /&gt;
                             &amp;quot;Multiplicación exactamente&amp;quot;, &lt;br /&gt;
                             &amp;quot;Esconder datos&amp;quot;,&lt;br /&gt;
                             &amp;quot;Siguiendo instrucciones con precisión&amp;quot;,&lt;br /&gt;
                             &amp;quot;Comprensión del lenguaje C&amp;quot;&lt;br /&gt;
                           };&lt;br /&gt;
  int i;&lt;br /&gt;
&lt;br /&gt;
  printf( &amp;quot;¡Hola! Soy clyde, la computadora.&amp;quot;&lt;br /&gt;
          &amp;quot; Tengo muchos talentos.\n&amp;quot; );&lt;br /&gt;
  printf( &amp;quot;Déjeme decirle algunos de ellos.\n&amp;quot; );&lt;br /&gt;
  puts( &amp;quot;¿Qué era ellos? Ah, sí, aquí está una lista parcial.&amp;quot; );&lt;br /&gt;
  for( i = 0; i &amp;lt; LIM; i++ )&lt;br /&gt;
    puts( mital[i] );&lt;br /&gt;
  puts( m3 );&lt;br /&gt;
  gets( nombre );&lt;br /&gt;
  printf( &amp;quot;Entonces, %s, %s\n&amp;quot;, nombre, MSG );&lt;br /&gt;
  printf( &amp;quot;%s\n%s\n&amp;quot;, m1, m2 );&lt;br /&gt;
  gets( talentos );&lt;br /&gt;
  puts( &amp;quot;Vamos a ver si tengo esa lista:&amp;quot; );&lt;br /&gt;
  puts( talentos );&lt;br /&gt;
  printf( &amp;quot;Gracias por la información, %s.\n&amp;quot;, nombre );&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resultado ===&lt;br /&gt;
 &lt;br /&gt;
 [rrc@Pridd CClase]$ gcc -Wall -O2 -o Prog79 Prog79.c&lt;br /&gt;
 /home/rrc/tmp/cc6XATeK.o: In function `main&amp;#039;:&lt;br /&gt;
 Prog79.c:(.text+0x1a0): warning: the `gets&amp;#039; function is dangerous and should not be used.&lt;br /&gt;
 [rrc@Pridd CClase]$ ./Prog79&lt;br /&gt;
 ¡Hola! Soy clyde, la computadora. Tengo muchos talentos.&lt;br /&gt;
 Déjeme decirle algunos de ellos.&lt;br /&gt;
 ¿Qué era ellos? Ah, sí, aquí está una lista parcial.&lt;br /&gt;
 Adición de números rápidamente&lt;br /&gt;
 Multiplicación exactamente&lt;br /&gt;
 Esconder datos&lt;br /&gt;
 Siguiendo instrucciones con precisión&lt;br /&gt;
 Comprensión del lenguaje C&lt;br /&gt;
 &lt;br /&gt;
 Suficiente acerca de mí - ¿cuál es tu nombre?&lt;br /&gt;
 Richard&lt;br /&gt;
 Entonces, Richard, Debe tener muchos talentos. Me dicen algunos.&lt;br /&gt;
 Limitarte a una sola línea.&lt;br /&gt;
 Si no puedes pensar en nada, falsificarlo.&lt;br /&gt;
 Yo puedo Ondular mi nariz&lt;br /&gt;
 Vamos a ver si tengo esa lista:&lt;br /&gt;
 Yo puedo Ondular mi nariz&lt;br /&gt;
 Gracias por la información, Richard.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 === Explicación ===&lt;br /&gt;
 &lt;br /&gt;
 gets() es una función peligrosa porque gets() no tiene ninguna manera de&lt;br /&gt;
 saber cuánto puede escribir, y por ello, escribirá siempre en memoria,&lt;br /&gt;
 todos los caracteres que introduzcamos. De todas formas no debemos darlo&lt;br /&gt;
 todo por perdido, tenemos una excelente función, muy parecida fgets(),&lt;br /&gt;
 aunque tiene más parámetros:&lt;br /&gt;
    El primer parámetro de fgets() es dónde vamos a almacenar lo leído.&lt;br /&gt;
    El segundo parámetro es cuántos caracteres leeremos como máximo&lt;br /&gt;
       (incluyendo el terminador de cadena). Y si hemos definido un valor&lt;br /&gt;
       máximo para la cadena, podemos utilizar éste.&lt;br /&gt;
    El tercero es de dónde lo leemos, y si queremos hacerlo desde teclado,&lt;br /&gt;
       usaremos stdin&lt;br /&gt;
 &lt;br /&gt;
[[Category:Programación en C]]&lt;br /&gt;
[[Category:CCabal]]&lt;br /&gt;
[[Category:CursoC]]&lt;/div&gt;</summary>
		<author><name>Arksega</name></author>
		
	</entry>
</feed>