PUERTA | PUERTA CS 2021 | Juego 2 | Pregunta 40

Considere el siguiente segmento de código ANSI C:

z=x + 3 + y->f1 + y->f2;
para (i = 0; i < 200; i = i + 2) { si (z > i)
{
p = p + x + 3;
q = q + y->f1;
} más
{
p = p + y->f2;
q = q + x + 3;
}
}
Suponga que la variable y apunta a una estructura (asignada en el montón) que contiene dos campos f1 y f2, y las variables locales x, y, z, p, q e i son registros asignados. La optimización de eliminación de subexpresiones comunes (CSE) se aplica en el código. El número de operaciones de suma y desreferencia (de la forma y ->f1 o y ->f2) en el código optimizado, respectivamente, son: (
A) 403 y 102
(B) 203 y 2
(C) 303 y 102
( D) 303 y 2

Respuesta: (D)
Explicación: Total de 300 adiciones (para cada iteración 3 operaciones de suma (p+c,q+a) o (p+b, q+c), (i+2)

c=x+3;
z=c+a+b

303 operaciones de suma y 2 operaciones de desreferencia (para y->f1, y->f2).
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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *