-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Claudio Saavedra V. wrote: | On Fri, 2004-11-19 at 12:36, Gustavo Chain wrote: | |> Bueno si, es lamentable, el libro justamente se editó en el '89. |> De todas formas, como sería la forma correcta de ese código? | | | main (int argc, char **argv) | { | ... | } | | funcion (int n) | { | ... | } | | Deberia ser asi: - -------------------------------------------- int main (int argc, char **argv) { ~ ... return (0); }
void funcion (int n) { ~ ... } - -------------------------------------------- 'main' debe retornar un entero. Si no me equivoco: 0 si se ejecuto bien el programa y un valor distinto si se ejecuto mal. Tambien las funciones debes especificar si retornan algo (int funcion, char funcion, etc funcion) o "void funcion" si no retorna nada. Tambien puedes declarar funciones locales algo como : - -------------------------------------------- int main (int argc, char **argv) { ... void funcion (int n) { ~ ... } return (0); } - -------------------------------------------- Y ahi solo puedes llamar a la funcion dentro de main, (si solo la vas a usar localmente es mejor), asi ensucias menos tu codigo. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (MingW32) iD8DBQFBnps/tYhkv1QlTGcRAmAjAJsFU7Ub1/S+XedIXVsEPecm0x5mkACggx8m XKb+5q/dHSV/Xab04hOUXDs= =td2A -----END PGP SIGNATURE----- From [EMAIL PROTECTED] Fri Nov 19 22:40:55 2004 From: [EMAIL PROTECTED] (Felipe Cristian Barriga Richards (Lista)) Date: Fri Nov 19 22:40:56 2004 Subject: OT: Programacion C - Error o normal ? Message-ID: <[EMAIL PROTECTED]> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hola lista, como vi un OT sobre C, decidi aprovechar el panico y consultarles acerca de una duda que tenia hace tiempo. (Todo bajo gcc-Linux ;) ). Resulta que hice un programita a modo de ilustrar el error (o lo que yo considero error). Es medio complicado mostarlo sin el ejemplo. - ---- Inicio ejemplo.c ---- #include <stdio.h> #include <unistd.h> int main () { ~ int i; ~ printf ("---- Inicio ----\n"); ~ printf ("-- Prueba con salto de linea --\n"); ~ for (i=0; i<101; i++) { ~ printf ("%d\n", i); ~ usleep (10000); ~ } ~ printf ("\n-- Prueba sin salto de linea --\n"); ~ for (i=0; i<101; i++) { ~ printf ("%d ", i); ~ usleep (10000); ~ } ~ printf ("\n---- Fin ----\n"); ~ return (0); } - ---- Fin ejemplo.c ---- Como puede ver al ejecutar este codigo, en el primer 'for', se imprime el valor de 'i' en cada ejecucion del ciclo. En el segundo 'for' se ejecuta y una vez que termine completamente el 'for' imprime todos los valores, como si los guardase en algun buffer. ¿ Se puede forzar que se imprima todo lo contenido en ese 'buffer' ? (Probe con fprintf (stdout, "%d ", i) y paso exactamente lo mismo. Saludos y gracias por leer este extenso OT. (Flames y otros enviar a : [EMAIL PROTECTED]). - -- Felipe Cristián Barriga Richards Santiago, Chile http://www.felipebarriga.cl -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (MingW32) iD8DBQFBnqCntYhkv1QlTGcRAiBdAKCCZNmddgcetX2W6nzYF6Ot8pflsACffLOD Y1gYPKjA7GHD865OzOfbFDc= =Hu1b -----END PGP SIGNATURE----- From [EMAIL PROTECTED] Fri Nov 19 23:23:50 2004 From: [EMAIL PROTECTED] (Cristian Gutierrez) Date: Fri Nov 19 23:24:00 2004 Subject: OT: Programacion C - Error o normal ? In-Reply-To: <[EMAIL PROTECTED]> (Felipe Cristian Barriga Richards's message of "Fri, 19 Nov 2004 22:40:55 -0300") References: <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> Hoy en la noche, Felipe Cristian Barriga Richards dijo: [...] > ~ printf ("\n-- Prueba sin salto de linea --\n"); > ~ for (i=0; i<101; i++) { > ~ printf ("%d ", i); fflush(stdout); > ~ usleep (10000); > ~ } [...] > ¿ Se puede forzar que se imprima todo lo contenido en ese 'buffer' ? > (Probe con fprintf (stdout, "%d ", i) y paso exactamente lo mismo. He allí como :) -- Cristian Gutierrez http://www.dcc.uchile.cl/~crgutier [EMAIL PROTECTED] Jabber:[EMAIL PROTECTED] "UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, and DOS is a boot partition virus." -- Peter H. Coffin .