C | Conceptos básicos del puntero | Pregunta 17 – Part 2

#include <stdio.h>
void f(char**);
int main()
{
    char *argv[] = { "ab", "cd", "ef", "gh", "ij", "kl" };
    f(argv);
    return 0;
}
void f(char **p)
{
    char *t;
    t = (p += sizeof(int))[-1];
    printf("%s\n", t);
}

(A) ab
(B) cd
(C) ef
(D) gh

Respuesta: (D)
Explicación: argv es una array de punteros de tipo char. Por lo tanto, contiene punteros de caracteres como ab, cd, etc. f (argv) en esta llamada damos la dirección del primer puntero de caracteres ab. en la función f , t = ( argv[0] += 4 (su tamaño de int) [-1] . después de esta evaluación t apunta a ij pero después de [-1] t apuntará a gh.
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 *