Rellene los espacios en blanco usando el programa VB
1.x como número entero omite ByRef, lo que significa entrega por dirección.
2.Byval y se pasa por valor como un número entero.
3.Static es una variable estática. Después de cada llamada a p1, el valor de z se guardará y la siguiente llamada será el valor anterior.
El segundo punto es fácil de entender y no requiere explicación.
El tercer punto también queda claro.
El punto clave es el punto 1. Lo que debe tener en cuenta es que cada vez que llama a p1, escribe los valores calculados de x, y, z, y, z, y luego en el parámetro correspondiente (x es un número entero, ByVal y es un número entero). , El valor de la dirección de x es el resultado del cálculo de ahora, y este resultado se devolverá al parámetro que lo llamó.
En la primera llamada, después de llamar a P 1 (a, b), X es 1, Y es 1 y Z es 2, por lo que mostrar el valor de 1, 1, 2 y X 1 devolver una dirección, A es 65438. Regrese al proceso principal y muestre la segunda línea 1, 1, 1 (tenga en cuenta que la z del proceso principal y la z del proceso p1 son dos variables diferentes).
Cuando se llama a p1(b, a) por segunda vez, el valor inicial de z se guardó como 2 en la vez anterior, por lo que x=1 2, es decir, 3, y= 3-2, z=3 1, por lo que la tercera línea muestra 3, 1, 4. A continuación, tenga en cuenta que el primer parámetro de llamada es B, por lo que el valor de X (3) se pasa a la dirección B. El valor de B es 3. A no devuelve A sigue siendo el valor del programa principal 1. Entonces la cuarta línea muestra 1, 3, 1.