Skip to content

Instantly share code, notes, and snippets.

@phaya phaya/helloworld.c Secret
Last active Dec 22, 2015

Embed
What would you like to do?
"Hola Mundo" es un programa clásico que se suele realizar cuando empiezas a aprender un lenguaje de programación. Tenéis accesible una colección completa en http://www.roesler-ac.de/wolfram/hello.htm Si sigues el enlace veréis el "Hola Mundo" original de Kernighan y Ritchie, los creadores de C ¿Qué diferencia hay entre este Hola Mundo, y el qué …
#include <stdio.h>
int main()
{
puts("Hello world!");
return 0;
}
@javierdarna

This comment has been minimized.

Copy link

javierdarna commented Sep 26, 2013

Las principales diferencias entre este hola mundo y el del link son:
-El texto escrito ("Hello world!" y "hello, world")
-La función utilizada ("printf" en el original, y "puts" en este)

@phaya

This comment has been minimized.

Copy link
Owner Author

phaya commented Sep 26, 2013

Bien! Hay una diferencia más sútil todavía. Por otro lado, ¿qué diferencia hay en el funcionamiento de la función printf y pust?

@ArturoBlazquez

This comment has been minimized.

Copy link

ArturoBlazquez commented Sep 28, 2013

Las diferencias que he visto son éstas:
-Al principio no escribe #include <stdio.h> ni tampoco int, aunque ambos programas funcionan sin escribirlo.
-Utiliza la función puts en vez de printf y cambia el texto de dentro.
-Con la función puts no necesitas añadir al final \n, porque ya salta a una nueva línea.

Buscando por internet he visto que con la variable puts podrías escribir el programa también así:

main() {
char a[20]="Hello world!";
puts (a);
}

@phaya

This comment has been minimized.

Copy link
Owner Author

phaya commented Sep 28, 2013

¡Exacto! Efectivamente tal como dices la ventaja de la función puts es que incluye ya el \n. El inconveniente es que no puedes darle formato al texto (por ej. no puedes emplear los %d).

Sobre no poner el #include ni int ya ireis viendo que los compiladores de C son muy flexibles, y que pueden asumir cierta información si no la encuentra declarada. En el caso del main (y de cualquier otra función) el tipo por defecto es int en caso de que no se ponga. De todas formas es altamente recomendable (y en el caso de la asignatura obligatorio :)) incluir el tipo del retorno de la función. Es mejor acostumbrarse a ponerlo dado que la omisión suele quebraderos de cabeza, y ninguna ventaja. Además, en las versiones más modernas del estándar es obligatorio.

Muy buenas las respuestas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.