I am trying to run the following code and getting "gh" as the output. Please help me out, how are we getting this result.
void f(char **p) {
char *t;
t = (p += sizeof(int))[-1];
printf("%s\n", t);
}
int main() {
char *arg[] = { "ab", "cd", "ef", "gh", "ij", "kl" };
f(arg);
}
P.S. I am using the gcc compiler.