#include <stdio.h>
int main(void) {
int a[] = {10, 20, 30 ,40, 50};
int *p = a;
int (*q)[5] = &a;
printf("sizeof(int) = %zu\n", sizeof(int)); // 4 printf("sizeof p = %zu\n", sizeof p
); // 8 printf("sizeof q = %zu\n", sizeof q
); // 8 printf("&a = %p\n", (void *)&a
); // 0x1000 printf("&p = %p\n", (void *)&p
); // 0x2000 printf("&q = %p\n", (void *)&q
); // 0x3000
printf("*(a + 3) = %d\n", *(a
+ 3)); printf("(a + 2)[1] = %d\n", (a
+ 2)[1]); printf("(1 + a)[2] = %d\n", (1 + a
)[2]); printf("*(3 + a) = %d\n", *(3 + a
)); printf("2[a + 1] = %d\n", 2[a
+ 1]);
printf("a + 1 = %p\n", (void *)(a
+ 1)); printf("&a[1] = %p\n", (void *)&a
[1]); printf("&a[1] + 1 = %p\n", (void *)(&a
[1] + 1)); printf("&*a = %p\n", (void *)&*a
); printf("&*a + 1 = %p\n", (void *)(&*a
+ 1)); printf("&a + 1 = %p\n", (void *)(&a
+ 1));
printf("*(p + 3) = %d\n", *(p
+ 3)); printf("(p + 2)[1] = %d\n", (p
+ 2)[1]); printf("(1 + p)[2] = %d\n", (1 + p
)[2]); printf("*(3 + p) = %d\n", *(3 + p
)); printf("2[p + 1] = %d\n", 2[p
+ 1]);
printf("p + 1 = %p\n", (void *)(p
+ 1)); printf("&p[1] = %p\n", (void *)&p
[1]); printf("&p[1] + 1 = %p\n", (void *)(&p
[1] + 1)); printf("&*p = %p\n", (void *)&*p
); printf("&*p + 1 = %p\n", (void *)(&*p
+ 1)); printf("&p + 1 = %p\n", (void *)(&p
+ 1));
printf("(*q)[3] = %d\n", (*q
)[3]); printf("*(*q + 3) = %d\n", *(*q
+ 3)); printf("(*q + 2)[1] = %d\n", (*q
+ 2)[1]); printf("(1 + *q)[2] = %d\n", (1 + *q
)[2]); printf("*(3 + *q) = %d\n", *(3 + *q
)); printf("3[*q] = %d\n", 3[*q
]); printf("2[*q + 1] = %d\n", 2[*q
+ 1]);
printf("*q + 1 = %p\n", (void *)(*q
+ 1)); printf("&(*q)[1] = %p\n", (void *)&(*q
)[1]); printf("&(*q)[1] + 1 = %p\n", (void *)(&(*q
)[1] + 1)); printf("&**q + 1 = %p\n", (void *)(&**q
+ 1)); printf("&*q + 1 = %p\n", (void *)(&*q
+ 1)); printf("&q + 1 = %p\n", (void *)(&q
+ 1)); // your code goes here
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSB7CmludCBhW10gPSB7MTAsIDIwLCAzMCAsNDAsIDUwfTsKaW50ICpwID0gYTsKaW50ICgqcSlbNV0gPSAmYTsKCnByaW50Zigic2l6ZW9mKGludCkgPSAlenVcbiIsIHNpemVvZihpbnQpKTsgLy8gNApwcmludGYoInNpemVvZiBwID0gJXp1XG4iLCBzaXplb2YgcCk7IC8vIDgKcHJpbnRmKCJzaXplb2YgcSA9ICV6dVxuIiwgc2l6ZW9mIHEpOyAvLyA4CnByaW50ZigiJmEgPSAlcFxuIiwgKHZvaWQgKikmYSk7IC8vIDB4MTAwMApwcmludGYoIiZwID0gJXBcbiIsICh2b2lkICopJnApOyAvLyAweDIwMDAKcHJpbnRmKCImcSA9ICVwXG4iLCAodm9pZCAqKSZxKTsgLy8gMHgzMDAwCgpwcmludGYoIiphID0gJWRcbiIsICphKTsKcHJpbnRmKCJhWzNdID0gJWRcbiIsIGFbM10pOwpwcmludGYoIiooYSArIDMpID0gJWRcbiIsICooYSArIDMpKTsKcHJpbnRmKCIoYSArIDIpWzFdID0gJWRcbiIsIChhICsgMilbMV0pOwpwcmludGYoIigxICsgYSlbMl0gPSAlZFxuIiwgKDEgKyBhKVsyXSk7CnByaW50ZigiKigzICsgYSkgPSAlZFxuIiwgKigzICsgYSkpOwpwcmludGYoIjNbYV0gPSAlZFxuIiwgM1thXSk7CnByaW50ZigiMlthICsgMV0gPSAlZFxuIiwgMlthICsgMV0pOwoKcHJpbnRmKCJhICsgMSA9ICVwXG4iLCAodm9pZCAqKShhICsgMSkpOwpwcmludGYoIiZhWzFdID0gJXBcbiIsICh2b2lkICopJmFbMV0pOwpwcmludGYoIiZhWzFdICsgMSA9ICVwXG4iLCAodm9pZCAqKSgmYVsxXSArIDEpKTsKcHJpbnRmKCImKmEgPSAlcFxuIiwgKHZvaWQgKikmKmEpOwpwcmludGYoIiYqYSArIDEgPSAlcFxuIiwgKHZvaWQgKikoJiphICsgMSkpOwpwcmludGYoIiZhICsgMSA9ICVwXG4iLCAodm9pZCAqKSgmYSArIDEpKTsKCnByaW50ZigiKnAgPSAlZFxuIiwgKnApOwpwcmludGYoInBbM10gPSAlZFxuIiwgcFszXSk7CnByaW50ZigiKihwICsgMykgPSAlZFxuIiwgKihwICsgMykpOwpwcmludGYoIihwICsgMilbMV0gPSAlZFxuIiwgKHAgKyAyKVsxXSk7CnByaW50ZigiKDEgKyBwKVsyXSA9ICVkXG4iLCAoMSArIHApWzJdKTsKcHJpbnRmKCIqKDMgKyBwKSA9ICVkXG4iLCAqKDMgKyBwKSk7CnByaW50ZigiM1twXSA9ICVkXG4iLCAzW3BdKTsKcHJpbnRmKCIyW3AgKyAxXSA9ICVkXG4iLCAyW3AgKyAxXSk7CgpwcmludGYoInAgKyAxID0gJXBcbiIsICh2b2lkICopKHAgKyAxKSk7CnByaW50ZigiJnBbMV0gPSAlcFxuIiwgKHZvaWQgKikmcFsxXSk7CnByaW50ZigiJnBbMV0gKyAxID0gJXBcbiIsICh2b2lkICopKCZwWzFdICsgMSkpOwpwcmludGYoIiYqcCA9ICVwXG4iLCAodm9pZCAqKSYqcCk7CnByaW50ZigiJipwICsgMSA9ICVwXG4iLCAodm9pZCAqKSgmKnAgKyAxKSk7CnByaW50ZigiJnAgKyAxID0gJXBcbiIsICh2b2lkICopKCZwICsgMSkpOwoKcHJpbnRmKCIqKnEgPSAlZFxuIiwgKipxKTsKcHJpbnRmKCIoKnEpWzNdID0gJWRcbiIsICgqcSlbM10pOwpwcmludGYoIiooKnEgKyAzKSA9ICVkXG4iLCAqKCpxICsgMykpOwpwcmludGYoIigqcSArIDIpWzFdID0gJWRcbiIsICgqcSArIDIpWzFdKTsKcHJpbnRmKCIoMSArICpxKVsyXSA9ICVkXG4iLCAoMSArICpxKVsyXSk7CnByaW50ZigiKigzICsgKnEpID0gJWRcbiIsICooMyArICpxKSk7CnByaW50ZigiM1sqcV0gPSAlZFxuIiwgM1sqcV0pOwpwcmludGYoIjJbKnEgKyAxXSA9ICVkXG4iLCAyWypxICsgMV0pOwoKcHJpbnRmKCIqcSArIDEgPSAlcFxuIiwgKHZvaWQgKikoKnEgKyAxKSk7CnByaW50ZigiJigqcSlbMV0gPSAlcFxuIiwgKHZvaWQgKikmKCpxKVsxXSk7CnByaW50ZigiJigqcSlbMV0gKyAxID0gJXBcbiIsICh2b2lkICopKCYoKnEpWzFdICsgMSkpOwpwcmludGYoIiYqKnEgKyAxID0gJXBcbiIsICh2b2lkICopKCYqKnEgKyAxKSk7CnByaW50ZigiJipxICsgMSA9ICVwXG4iLCAodm9pZCAqKSgmKnEgKyAxKSk7CnByaW50ZigiJnEgKyAxID0gJXBcbiIsICh2b2lkICopKCZxICsgMSkpOwoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0K