
Pablo Mendoza
Preguntapor que el “int” antes de la funcion main()?
- Hay lenguajes de programación cuyas funciones pueden no devolver nada.
- Hay un paradigma de programación funcional (diferente a los imperativos procedurales (base principal de C), que tienen funciones como módulos y procedimientos pero no como funciones matemáticas), que sí se basa en las matemáticas y corresponde a la rama declarativa (no imperativa), lo cual podría generar confusión.

Jesus Mendez Chavez
Gracias por hacer las aclaraciones, entiendo de forma muy amplia que existen muchas excepciones, dentro del propio C y aún más tomando en cuenta otros lenguajes de programación que tienen diferentes paradigmas y objetivos que el de C, sin embargo es una forma sencilla de explicar porque es necesario que en C es necesario declarar el tipo de función, además de que a pesar de que las diversas necesidades que cubren diferentes lenguajes de programación el concepto de una función fue evolucionando hasta lo que tenemos hoy, pero en un inicio (hace unos 50 años) podría decirse que las funciones de programación se basaron en las funciones de matemáticas.

Cristian Blandón
Uf, me parece delicado hacer un símil tan cercano con las matemáticas... Teniendo en cuenta:
¡Saludos!

Jesus Mendez Chavez
De forma muy curiosa las funciones en programación vienen de las funciones matemáticas, como por ejemplo f(x) = 2x + 6 donde si nosotros le asignamos un valor a X por ejemplo 6 queda algo así f(6) = 2(6) + 6, por lo que si ejecutamos esa operación nos daremos cuenta que tiene un valor de 18. Si traspasamos esto a programación, todas las funciones nos retornarán un valor (lo verás más a detalle en el tema de funciones), sin embargo se comportan muy similar que en las matemáticas, por lo cual se asume que todas las funciones tienen un valor, por lo que en C debemos de especificar el tipo de dato que nos retornará esa función, en este caso como el valor que retorna es 0, debemos de indicarle que nos estará regresando un entero, eso lo hacemos poniendo int, y el main nos indica que es la función principal, por eso lo vemos expresado como:
int main() { return 0; //Donde aquí se ve que el valor que retorna es 0 }

Adrian Turk
Salvando alguno de los comentarios el cual puede generar mal entendimiento. Todos estan relativamente acertados. Es asi, toda función que se declara como int devuelve un entero en su retorno. En caso particular, para la función main, ese valor retornado es pasado al SO. Que habitualmente espera que ese valor devuelto sea 0 para determinar que el programa se ejecutó con éxito. También se suele declarar el main como de tipo void, pero no es buena practica.

Cristian Blandón
Porque define el tipo de dato que la función retornará. En lenguajes como Java, la función main es de tipo void, porque no retorna nada; sin embargo, en C no se puede declarar de tipo void, y el retorno 0 se usa como medida de "éxito" o verificación al momento de ejecutar el programa.
¡Saludos!

Samuel Antonio Rojas Dugarte
Esto es por que la función main() retorna un valor por consola en el cual nosotros podemos evaluar si hubo fallas en su ejecución o no. Cuando el programa retorna 0 por consola significa que todo fue ejecutado sin fallas, mientras que si retorna algún otro numero es por que hubo fallas en la ejecución

Stiven Andres Arevalo
Es un recipiente que almacena números enteros sin decimales. En el ejemplo que nos da Mauro nos dice que en la expresión int main() { } solo pueden operar variables de números enteros

osvaldo leiva barria
Pero independiente de lo que se hizo en el ejercicio una funcion en C debe devolver algun valor ya sea algun tipo de dato o void, mas adelante en el curso se explicara en mas profundida

Pablo Mendoza
Claro... va a devolver un integer.

osvaldo leiva barria
Porque es lo devolvera la funcion