C | Conceptos básicos del puntero | Pregunta 16

#include <stdio.h>
int main()
{
    int arr[] = {1, 2, 3, 4, 5};
    int *p = arr;
    ++*p;
    p += 2;
    printf("%d", *p);
    return 0;
}

(A) 2
(B) 3
(C) 4
(D) Error del compilador

Respuesta: (B)
Explicación: La expresión ++*p se evalúa como “++(*p)”. Entonces incrementa el valor del primer elemento de la array (no cambia el puntero p).

Cuando se hace p += 2, p se cambia para que apunte al tercer elemento de la array.
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 *