Título: [C] Funciones Publicado por: audiogalaxy. en 17 Octubre 2013, 06:04 am Estoy empezando con funciones con nodos:
Ya tengo los resultados de la función, no necesitan examinarla. Mi pregunta es mínima y se refiere a la última parte: ¿Esta función imprimirá 2 resultados? Lo digo porque al final hay dos "return". (http://img34.imageshack.us/img34/3960/kv6p.png) Código
Gracias por tomarse la molestia. Título: Re: [C] Funciones Publicado por: vangodp en 17 Octubre 2013, 07:54 am if(cuantos > 0) //si cuantos es mayor que 0
return(acum/cuantos); //retorna esta linea, como es una sola linea no hace falta {} return (acum); //si no se cumple lo de arriba retorna esta. tiene el mismo efecto que esto: Código
Pones {} si quieres ejecutar un grupo de instrucciones. En el caso de que if tuviese mas de una instrucción ponemos {}, si se cumple if ejecutaría todas las sentencias dentro de las {}, de no cumplirse las salta, puedes poner para una sola también, lo mismo da pero si es una sola no tienes que ponerla. Quiere decir que si después de if hay {} el grupo de instrucciones dentro de las {} pertenece a el anterior if. pero si caso en una funcion fuera asi: Código
mira esto... Código
prueba la función con 2 casos: uno que de mayor que 0 y otro que de menor, veras cual te lo retorna. Suerte! :D otro intento que hice fue este. si le paso 10 y 20 a la funcion me devuelve la suma pero si paso -10 y -20 me devuelve el 9999 XD Código
Un código mas y no vuelvo mas por este hilo ;-) Código
Título: Re: [C] Funciones Publicado por: amchacon en 17 Octubre 2013, 09:52 am Cuando se llega a la sentencia return, la función acaba. Asi que es imposible que se ejecuten dos return seguidos ;)
Título: Re: [C] Funciones Publicado por: vangodp en 17 Octubre 2013, 10:04 am Hola
Título: Re: [C] Funciones Publicado por: audiogalaxy. en 17 Octubre 2013, 12:37 pm Gracias por responder.
Entiendo que al no haber {} en ese if sólo se ejecutará un return, dependiendo de si se cumpla o no el if. Nuevamente gracias. Título: Re: [C] Funciones Publicado por: manofol en 18 Octubre 2013, 16:41 pm Como dijeron arriba, cuando se ejecuta un return se termina la ejecución de la función, ya que return cambiará el PC del procesador al PC guardado en algún registro ($ra en procesadores MIPS) antes de la llamada a la función.
Edit: Si quieres devolver más de un valor, devuelve un array de valores. Título: Re: [C] Funciones Publicado por: vangodp en 18 Octubre 2013, 23:25 pm buena info, o en vez de función utiliza acción :rolleyes:
|