Considere el siguiente programa en C:
#include<stdio.h> int main(){ int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 5}, *ip = arr + 4; printf("%d\n", ip[1]); return 0; }
El número que se mostrará en la ejecución del programa es _________.
(A) 6
(B) 5
(C) 4
(D) error de segmentación
Respuesta: (A)
Explicación:
#include<stdio.h> int main(){ int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 5}, *ip = arr + 4; printf("%d\n", ip[1]); return 0; }
Tenga en cuenta que el índice de la array siempre comienza desde 0 en C.
Inicialmente, el puntero ip apunta a (arr+4) o se salta las primeras 4 posiciones iniciales.
Ahora, en la llamada al sistema printf, 1 posición más es para omitir, por lo que apuntará a (arr+5) u omitirá 5 posiciones desde el inicio:
Por lo tanto, printf imprimirá el valor en la 6ª posición, es decir, se imprimirá 6 .
Entonces, la opción (A) 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