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