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.
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