Red de conocimiento informático - Problemas con los teléfonos móviles - Rellene los espacios en blanco usando el programa VB

Rellene los espacios en blanco usando el programa VB

Puedes notar fácilmente tres cosas en Sub p1.

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.