Pointers - Programming

Q1:

What will be the output of the program If the integer is 4bytes long?
#include<stdio.h>

int main()
{
    int ***r, **q, *p, i=8;
    p = &i;
    q = &p;
    r = &q;
    printf("%d, %d, %d\n", *p, **q, ***r);
    return 0;
}

A 8, 8, 8

B 4000, 4002, 4004

C 4000, 4004, 4008

D 4000, 4008, 4016

ANS:A - 8, 8, 8

No answer description is available. Let's discuss.