Unas dudas

thecrow_94
10 de Febrero del 2005
Una de ellas es q si por ejemplo en esta funcion float f (int x) le paso un valor negativo considera el signo menos la funcion o no. Y otra es un programilla q no me entero de lo q ace haber si me lo podeis explicar paso a paso gracias, aqui le pongo:

4ª Pregunta: (0,5 puntos)


Cual es el resultado,en pantalla, de ejecutar la siguiente funcion cuando el parametro que se le pasa es 6
funcion (int n){
static a=0;

if (n>0) {
a++;
n=n-a;
funcion(n);
printf ("n=%dn", n);
}
else
printf ("FINn");
}


SOLUCION:

FIN
n=0
n=3

miguel
10 de Febrero del 2005
La solución a esto y a otras muchas dudas de C / C++ en la sección Formación de www.maacera.com

Rev
10 de Febrero del 2005
La función que tienes aquí es recursiva y esta se ejecutara hasta que n=0, la variable a esta declarada de forma estática por lo que cada vez que se ejecute el programa su valor no será 0 sino el último valor que se le fue asigando en este caso:

a++

Los resultados que hará son estos:

1a vuelta.- n=6
-se ejecuta funcion nuevamente con n=5
-se ejecuta funcion nuevamente con n=4
-se ejecuta funcion nuevamente con n=3
-........
-la función ya no se ejecuta pues n=0 e imprimira fin

los resultados que verás en pantalla serán:

FIN
n=1
n=2
n=3
n=4
n=5
n=6

Espero te sirva.

miguel
10 de Febrero del 2005
Esta solución no es correcta. La solución correcta en la sección Formación de www.maacera.com
Consulta al TUTOR ON-LINE

thecrow_94
10 de Febrero del 2005
Pos muchas gracias. Oye haber si me puedes decir esto tb: si por ejemplo en esta funcion float f (int x) le paso un valor negativo ¿ considera el signo menos la funcion o no ?