02/05/2008, 15:22
|
| | | Fecha de Ingreso: enero-2006 Ubicación: Mexico DF
Mensajes: 184
Antigüedad: 19 años Puntos: 3 | |
Re: Diferencias entre void e int Complementando lo que menciona a2a2
La estructura de las funciones se definen como
[Valor Retorno] Nombre_Funcion (Parametros de Entrada){}
Imagina una funcion como una caja negra en la cual puedes o no insertar datos y esta dara o no a la salida algun valor.
Cuando empleas void haces referencia a que el valor es vacio, por lo que si colocas
void funcion()
dices que esta funcion no regresara valores, si colocas
int funcion()
dices que la funcion dara a la salida un valor entero, por lo que necesitas un return.
Para intentar ser mas claro, imagina una funcion que emplees para desplegar en la pantalla dos valores que recibes. Como solo muestras en pantalla empleas void
void Muestra(int x, int y){
printf("los valores son %d y %d",x,y);
}
Por otro lado, si tienes una funcion que requieres te regresa la suma de los dos numeros
int Suma(int x, int y){
return x+y;
}
En muchas ocasiones empleas un retorno entero para saber que la función se ejecuta de manera correcta, por ejemplo una funcion que muestra en pantalla la división de dos numeros. En este caso debemos cuidar que la division no sea entre cero
int Division(int x, int y){
if(y == 0)
return -1;
printf("La division es %d",x/y);
return 0;
}
Con esto, si invoco la funcion Division en el main, si me regresa -1 se que existió un error en la ejecucion de la funcion, si me regresa 0, se ejecuto bien...
En Sintaxis, ambas formas son correctas, cual usar depende de lo que necesites para tu programa...
Espero haber sido claro...
__________________ Saludos... Todos somos sabios, solo que en diferentes disciplinas... |