fork download
  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4. int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
  5. printf ("base adress of a: %x\n", a);
  6. printf ("address of a+3: %x\n", a+3);
  7. printf ("a[2][1]: %x\n", &a[2][1]);
  8. int x=2,y=1;
  9. printf ("Jacques's formula: %x OUCH!!!\n", (a + (sizeof(int) * 3) * x + sizeof(int) * y));
  10. printf ("corrected: %x\n", ((char*)a + (sizeof(int) * 3) * x + sizeof(int) * y));
  11. return 0;
  12. }
  13.  
Success #stdin #stdout 0s 9432KB
stdin
Standard input is empty
stdout
base adress of a:    93ac3590
address of a+3:      93ac35b4
a[2][1]:             93ac35ac
Jacques's formula:   93ac36e0 OUCH!!!
corrected:           93ac35ac