#include <stdio.h>
int main(void) {
int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
printf ("base adress of a: %x\n", a
); printf ("address of a+3: %x\n", a
+3); printf ("a[2][1]: %x\n", &a
[2][1]); int x=2,y=1;
printf ("Jacques's formula: %x OUCH!!!\n", (a
+ (sizeof(int) * 3) * x
+ sizeof(int) * y
)); printf ("corrected: %x\n", ((char*)a
+ (sizeof(int) * 3) * x
+ sizeof(int) * y
)); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSB7CglpbnQgYVszXVszXSA9IHt7MSwgMiwgM30sIHs0LCA1LCA2fSwgezcsIDgsIDl9fTsKCXByaW50ZiAoImJhc2UgYWRyZXNzIG9mIGE6ICAgICV4XG4iLCBhKTsgCglwcmludGYgKCJhZGRyZXNzIG9mIGErMzogICAgICAleFxuIiwgYSszKTsgCglwcmludGYgKCJhWzJdWzFdOiAgICAgICAgICAgICAleFxuIiwgJmFbMl1bMV0pOyAKCWludCB4PTIseT0xOwoJcHJpbnRmICgiSmFjcXVlcydzIGZvcm11bGE6ICAgJXggT1VDSCEhIVxuIiwgKGEgKyAoc2l6ZW9mKGludCkgKiAzKSAqIHggKyBzaXplb2YoaW50KSAqIHkpKTsKCXByaW50ZiAoImNvcnJlY3RlZDogICAgICAgICAgICV4XG4iLCAoKGNoYXIqKWEgKyAoc2l6ZW9mKGludCkgKiAzKSAqIHggKyBzaXplb2YoaW50KSAqIHkpKTsKCXJldHVybiAwOwp9Cg==