This is the code https://ide.geeksforgeeks.org/8bYOzDDC9U to run this
#include <stdio.h>
char *c[] = {"GeksQuiz", "MCQ", "TEST", "QUIZ"};
char **cp[] = {c+3, c+2, c+1, c};
char ***cpp = cp;
int main()
{
cpp++;
printf("%s", cpp[0][0]); // TEST
printf("%s ", cpp[-1][-1]); // TEST
return 0;
}
The output of both the printf() is TEST. Why is it so? When I do cpp++, the pointer moves to c+2. SO I understand that cpp[0][0] will be at the starting of "TEST" and that's why it is printing TEST. Can someone explain me for cpp[-1[-1]?