Skip to content

Instantly share code, notes, and snippets.

@phaya
Last active December 22, 2015 10:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save phaya/f51bd30db95248468577 to your computer and use it in GitHub Desktop.
Save phaya/f51bd30db95248468577 to your computer and use it in GitHub Desktop.
"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
Copy link

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
Copy link
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
Copy link

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
Copy link
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