Suponga que el programa ‘P’ está implementando el paso de parámetros con ‘llamada por referencia’.
¿Qué se imprimirá siguiendo las declaraciones de impresión en P?
Programa P( )
{
x = 10;
y = 3;
funb (y, x, x)
imprimir x;
imprimir y;
}
funb (x, y, z)
{
y = y + 4;
z = x + y + z;
}
(A) 10, 7
(B) 31, 3
(C) 10, 3
(D) 31, 7
Respuesta: (B)
Explicación: Programa P( )
{
x = 10;
y = 3;
funb (y, x, x)
imprimir x;
imprimir y;
}
función (x, y, z)
{
y = y + 4;
z = x + y + z;
}
Dado que es una llamada por referencia, la dirección se pasará como argumento:
es decir, P( )
{
x = 10;
y = 3;
funb (&y, &x, &x)
imprimir x;
imprimir y;
}
funb (x, y, z) //funb (&y, &x, &x) //
{
y = y + 4; //en &x 14 será asignado //
z = x + y + z; // Ahora a &x se le asignará 3 + 14 + 14 = 31.
}
No hay cambios en y y x se actualiza dos veces cuando printf llama, imprimirá x = 31 e y = 3.
Entonces, la opción (B) es correcta .
Cuestionario de esta pregunta
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA