PUERTA | PUERTA CS 2020 | Pregunta 32

Considere el siguiente programa en C.

#include <stdio.h> 
int main ()  { 
    int  a[4][5] = {{1, 2, 3, 4, 5}, 
                    {6, 7, 8, 9, 10}, 
                    {11, 12, 13, 14, 15}, 
                    {16, 17, 18, 19, 20}}; 
    printf("%d\n", *(*(a+**a+2)+3)); 
    return(0); 
}  

La salida del programa es _______.

Nota: esta pregunta era de tipo numérico.
(A) 18
(B) 19
(C) 20
(D) 14

Respuesta: (B)
Explicación: Dado a[4][5] es una array 2D . Deje que la dirección inicial (o dirección base) de la array dada sea 1000.

Por lo tanto,

= *(*(a+**a+2)+3))
= *(*(1000+**1000+2)+3))
= *(*(1000+3)+3))   {given element **1002 = 3}
= *(*(1003)+3))
= *((1003)+3)    {4th row selected in given matrix}
= *((1003)+3)     {address of 4th element in 4th row}
= a[3][3]
= 19            {element selected a[3][3] = 19} 
#include <stdio.h> 
int main ()  { 
    int  a[4][5] = {{1, 2, 3, 4, 5}, 
                    {6, 7, 8, 9, 10}, 
                    {11, 12, 13, 14, 15}, 
                    {16, 17, 18, 19, 20}}; 
    printf("%d\n", *(*(a+**a+2)+3)); 
    return(0); 
}  

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

Deja una respuesta

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