-----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 .

Responder a