OT: Pregunta de C
Horst von Brand
vonbrand en inf.utfsm.cl
Lun Nov 22 21:22:49 CLST 2004
"Felipe Cristian Barriga Richards (Lista)" <lista en felipebarriga.cl> dijo:
> 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) {
'int' es opcional aca
> ~ ...
> return (0);
El '()' es superfluo ('return' no es una funcion). Aunque en rigor debiera
usarse exit(3) y los valores del caso ("Tradicionalmente" 0 == todo OK,
pero...)
> }
>
> 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 :
Esa es una extension de gcc, debieran fusilar a quien integro esa idiotez
en C (en Pascal tiene sentido, en C no hay forma de hacerlo cuadrar con el
resto del lenguaje: Recuerdese punteros a funcion, etc).
> - --------------------------------------------
> int main (int argc, char **argv) {
> ...
>
> void funcion (int n) {
> ~ ...
> }
>
> return (0);
> }
> - --------------------------------------------
Urgh.
> 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.
Para eso esta 'static', y dividir el programa en archivos.
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria +56 32 654239
Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513
Más información sobre la lista de distribución Linux