Un alma caritativa que sepa C

Vereis, tengo un problema, necesito hacer un programa en C simple de cojones, pero resulta que en mi vida he visto C. Solo se java y algo de ensamblador. El programa consiste en mostrar por la linea de comandos diez veces el mensaje ¡Hola Mundo!.

Alguien me podría orientar, si tiene algo parecido y yo lo modifico.

Necesito ayuda.

Gracias de antemano.
Si no recuerdo mal es algo tan sencillo como esto


#include
#include

void main()
{
int i;
for (i=0;i<10;i++)
printf("Hola mundo\n");

}



Pruebalo, que yo ahora mismo no tengo el studio aquí.
Mil millones de gracias, sabia que era sencillo, pero no sabia como hacerlo.

De nuevo gracias.

Cuando lo pruebe te digo
Hombre... ese codigo tal cual no te compila. El completo es este:
_____________
#include

int main (void){

int i;

for(i=0;i<10;i++)
printf("Hola mundo\n");

return 0;

}
_____________

Saludos!
hiuston escribió:Hombre... ese codigo tal cual no te compila. El completo es este:
_____________
#include

int main (void){

int i;

for(i=0;i<10;i++)
printf("Hola mundo\n");

return 0;

}
_____________

Saludos!


Que no compila?? Bueno, no te compilará a tí.
Chinote escribió:#include
#include

void main()
{
int i;
for (i=0;i<10;i++)
printf("Hola mundo\n");

}

mmm no tengo tanta idea de C como de Java pero siempre que he visto la cabecera main que devuelve void, como parámetro se le pasa un void, vamos que sería así:

void main (void){
...
}

Pero nunca llegué a entender porque...

Salu2
Bueno, la verdad es que no se como le dais tantas vueltas al tema, pero ahí va.

Imagen
Chinote escribió:
Que no compila?? Bueno, no te compilará a tí.



A ver, ha dicho en C puro y duro.
El main de c toda la vida ha sido:

int main (void){

return 0;
}

¿Dónde está el return 0? ¿Dónde está el int main (void)? Porque recuerda que realmente el main de C es una función int que devuelve el 0 del return 0 que indica el final del programa pero que tu dentro del main pones tu código. Aparte, para hacer lo que el pide no necesitas para nada el stdlib.

Saludos!

PD: de todas formas no venía a reprochartelo ni mucho menos, solo que como dice eva hache: así me lo aprendí yo XD
oskuro está baneado por "Utilizar clones para soltar spoilers salvajes en el hilo del horizon: Zero Dawn"
JAPosti escribió:mmm no tengo tanta idea de C como de Java pero siempre que he visto la cabecera main que devuelve void, como parámetro se le pasa un void, vamos que sería así:

void main (void){
...
}

Pero nunca llegué a entender porque...

Salu2


Poner void main(void) y poner void main() es lo mismo.
Bueno, tambien depende del compilador puede que te acepte int main (void) o int main ().

Saludos!
hiuston escribió:Bueno, tambien depende del compilador puede que te acepte int main (void) o int main ().

Saludos!


Pero tu lo haces de forma que te devuelva un valor, por eso en la cabecera pones int, yo pongo void porque no quiero que me devuelva ningún valor, lo único que quiero es que imprima por pantalla.

Y es C puro y duro, ni C++ ni nada de eso.

Lo de la cabecera si que tienes razón, pero es que por costumbre siempre he puesto las dos.
Y yo que pongo siempre:

main()
{
/*codigo del programa*/
}

y sin problemas hasta ahora...
Depende de los compiladores, supongo...

Pero lo más correcto es siempre usar un main que devuelve un int, y que recoge como mínimo dos parámetros, un int y un char*:

int main(int args, char *argu)
{
return x;
}

Al menos eso es lo que suele exigir el compilador de Dev++. Otra cosa es que sirva para algo en programas tan sencillos.
Bueno, yo me baso en lo que me enseñan en clases de programación en la universidad, vamos... Pero se que por ejemplo algunos compiladores aceptan:

int main (){

y otros si no pones el (void) nada.

Saludos!
yo creo q depende del compilador, por ejemplo con el turboc pongo void main() q es lo q me han enseñao en clase, en cambio eso lo compilas con el dev-c++ y te peta, dice q el main no devuelve nada y tienes q poner int main()

en fin, manias de los compiladores xdDDD

salu2!
A ver, el main tiene que devolver por cojones XD Si no, ¿por qué se declara como "int main (void)"? Pues el main es en realidad una función, que devuelve un int (return 0) pero que no recibe ningun argumento.

Saludos!
depende del profesor (y del compilador que use), a mi me enseñaron en la facultad void main(void) y por "culpa" de gcc pongo int main()
hiuston escribió:A ver, el main tiene que devolver por cojones XD Si no, ¿por qué se declara como "int main (void)"? Pues el main es en realidad una función, que devuelve un int (return 0) pero que no recibe ningun argumento.

Saludos!


Yo poniendo main(){/*codigo*/} compilo perfectamente en dev-c++
Johny27 escribió:
Yo poniendo main(){/*codigo*/} compilo perfectamente en dev-c++


gcc da un warning (aunque compila bien)
public static void main (String args[]){
...
}

Al carajo XDXDXD
Radja escribió:depende del profesor (y del compilador que use), a mi me enseñaron en la facultad void main(void) y por "culpa" de gcc pongo int main()
Eso iba a contestar yo, si el main no devuelve nada puede dar problemas. Así que se suele usar int main()
El estándar especifica las siguientes definiciones de la función main:
int main();
int main(int argc, char* argv);
int main(int argc, char argv[]);
Las dós últimas son virtualmente idénticas pero definiendo de diferente manera un puntero a char.
Lógicamente con estas definiciones hay que retornar un valor numérico, que será 0 si el programa finaliza correctamente, y cualquier otro valor si el programa finaliza de una manera errónea o inadecuada

El resto de las formas que hay por ahí, como
void main()
void main(void)
main()
etc...

no siguen el estándar, y son incorrectas. Otra cosa es que los compiladores hagan lo que les sale de la brenca y te lo permitan, y por eso algunos dan warnings.

Puedes hacerlo como te de la gana,eso si, si luego el código no compila en otro compilador o en versiones posteriores pues a cambiarlo.
Pues para ser incorrecto, me parece muy fuerte que me lo hayan enseñado así en la universidad, pero bueno...
Este es el típico caso que ciertos profesores lo explican con int, esos profesores que programan siguiendo la forma canónica y tal.
Y otros más descuidados lo hacen con void que tampoco pasa nada.

Personalmente pienso que es mejor aprender a programar siguiendo ciertas pautas, ya programarás mal cuando trabajes en una empresa [carcajad]
Os sorprenderías de las cosas erróneas que te enseñan en la facultad...
24 respuestas