Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Es necesario escribir "return;" al final de una funcion, y void si no recibo valores?

Estas en el tema de Es necesario escribir "return;" al final de una funcion, y void si no recibo valores? en el foro de C/C++ en Foros del Web. Ejemplo: Código: void Funcion(int Numero) { procesamiento...... return; } Pregunta: Es necesario el "return:" al final de cada función o no?, qué es lo correcto?. ...
  #1 (permalink)  
Antiguo 28/03/2015, 23:41
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 15 años, 4 meses
Puntos: 5
Pregunta Es necesario escribir "return;" al final de una funcion, y void si no recibo valores?

Ejemplo:
Código:
void Funcion(int Numero)
{
   procesamiento......

   return;
}
Pregunta:
Es necesario el "return:" al final de cada función o no?, qué es lo correcto?.

Ejemplo:
Código:
void Funcion(void)
{
   procesamiento......
}
Pregunta:
Es necesario el "void" sino necesito recibir ningún valor?, qué es lo correcto?.

-
Algunos dice que nó y otros dicen que sí.
Qué es lo correcto para una perfecta comprensión para el compilador y la mejor prática en C?.
  #2 (permalink)  
Antiguo 29/03/2015, 00:18
Avatar de guzzano  
Fecha de Ingreso: julio-2010
Ubicación: Isla de Margarita
Mensajes: 162
Antigüedad: 13 años, 8 meses
Puntos: 13
Respuesta: Es necesario escribir "return;" al final de una funcion, y void si no reci

Buenos días, cuando usa una función tipo void no es necesario poner un return al final, el único return que debes poner en una función de éste tipo, es cuando desees finalizarla sin cumplirla completa.

Código C:
Ver original
  1. void myfnc ( void )
  2. {
  3.     ...
  4.            
  5.     if ( ... )
  6.         return;
  7.    
  8.     ...
  9. }

Saludos.
__________________
Si me equivoco, corríjanme sin piedad.
  #3 (permalink)  
Antiguo 29/03/2015, 00:57
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Es necesario escribir "return;" al final de una funcion, y void si no reci

Cita:
Iniciado por guzzano Ver Mensaje
Buenos días, cuando usa una función tipo void no es necesario poner un return al final, el único return que debes poner en una función de éste tipo, es cuando desees finalizarla sin cumplirla completa.

Código C:
Ver original
  1. void myfnc ( void )
  2. {
  3.     ...
  4.            
  5.     if ( ... )
  6.         return;
  7.    
  8.     ...
  9. }

Saludos.
o sea, la funcion terminará y seguirá a main, aún cuando yo no haya escrito return; al final de la funcion?.
  #4 (permalink)  
Antiguo 29/03/2015, 01:04
Avatar de guzzano  
Fecha de Ingreso: julio-2010
Ubicación: Isla de Margarita
Mensajes: 162
Antigüedad: 13 años, 8 meses
Puntos: 13
Respuesta: Es necesario escribir "return;" al final de una funcion, y void si no reci

Cita:
Iniciado por RGT Ver Mensaje
o sea, la funcion terminará y seguirá a main, aún cuando yo no haya escrito return; al final de la funcion?.
Sí, a main o a alguna otra función donde la estés llamando.

Saludos.
__________________
Si me equivoco, corríjanme sin piedad.
  #5 (permalink)  
Antiguo 29/03/2015, 04:43
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: Es necesario escribir "return;" al final de una funcion, y void si no reci

El return tiene 2 funciones. Una de ellas es devolver un valor y la otra es interrumpir el programa en ese punto determinado donde se encuentra, si hay un return sin ningún valor seguido, se trata de que se le esta usando para interrumpir solamente.

Lo de si tienes que poner o no el void a una función, a ver como te explico. Cuando declaras una función como void, int o lo que sea, en realidad lo que estas haciendo es reservar espacio en memoria para el tipo de datos que vas a retornar, o no en el caso del void.

Aun que mi función no retorne nada( Quiere decir que no he reservado espacio para valor de retorno.), puedo querer frenarla en algún punto, para eso esta return; a secas, sin ningún valor que le preceda.

Si reservo espacio para un valor de retorno en una función estoy obligado a poner return algo;, aun que ese algo sea un 0. ¿Te suena return 0;? XD

Espero que haya esclarecido algo XD.

Etiquetas: final, funcion, numero, recibo, return, void
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:08.