En C cuando no le pones tipo de valor a la funcion asi:
Código:
main() {
//...
return 0;
}
implicitamente el compilador lo toma como int, por eso tienes que regresar un valor.
Esto ya no se usa en C++ presisamente porque causaba confusion... Entonces, ahora si no pones el tipo de retorno te da un error (o un warning, dependiendo del compilador)
void se utiliza para decir que esa funcion no regresa nada... por ejemplo:
Código:
void escribe() {
printf("Hola");
}
La funcion no necesita regresar nada ya que solo escribe "Hola"...