PUERTA | PUERTA CS 2019 | Pregunta 33

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.

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 *