Skip to content
Related Articles
Open in App
Not now

Related Articles

C | Advanced Pointer | Question 7

Improve Article
Save Article
  • Difficulty Level : Hard
  • Last Updated : 28 Jun, 2021
Improve Article
Save Article

Assume that the size of int is 4.

#include <stdio.h>
void f(char**);
int main()
    char *argv[] = { "ab", "cd", "ef", "gh", "ij", "kl" };
    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

Answer: (D)

Explanation: The expression (p += sizeof(int))[-1] can be written as (p += 4)[-1] which can be written as (p = p+4)[-] which returns address p+3 which is address of fourth element in argv[].

Quiz of this Question

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!