El lenguaje C busca un maestro
Mira la estructura de la función f: tiene 6 oraciones cada una, y el todo es una estructura si...si no....
Analice la situación de ejecución. Dado que f no se llama una vez, defina una variable t diferente para evitar confusiones, la llamaremos t1, t2 en orden...
La principal. función La declaración de impresión llama a f(a, 9)①
Ingrese la función f por primera vez, n=9gt 1, defina la variable 1 y luego llame a t1=f(a, 8)②;
La segunda vez que ingresa a la función f, n=8gt;1, define la variable t2 y luego llama a t2=f(a,7)③
…… p>
La octava vez que ingresa la función f, n=2gt;1, define la variable t8 y luego llama a t8=f(a,1)④
Ingresa la función f por novena vez, n=1gt;1 no está establecido, apunta a else, devuelve un [0], que es el elemento 8.
Regrese a ④, es decir, t8=8, vaya al siguiente paso: calcule y devuelva t8gt; a[1]?t8: a[1]=8gt; (regresar 8 y 2), regresar hacia arriba. Cada vez se devuelve un número relativamente grande.
......
Por supuesto, f(a, 7) devuelve 9. Regrese a ③, t2 = 9, el siguiente paso es calcular t2gt; ¿a [7]? Porque t2 = 9, a [7] = 7, devuelve el 9 más grande.
El programa regresa a ②, t1=9. El siguiente paso es comparar los tamaños de t1 y a[8] (=5), y obviamente devolver el 9 más grande. En este momento, es necesario devolver 9 a la función principal ①.
De vuelta en ①, el programa obtiene el valor 9 de f(a, 9) y lo imprime.