the 2-d array is skipping a row, not a location. note that 88-40 is 48 which is 3*16, and not that +1 is 56-40 = 16 so its a 16 bit system (??) or compiler (int should be 64 bits or at least 32 unless on very old tools?).
The type of a is int[3][4]. Notably, it is not int* and it is not int(*)[4]. Therefore, &a and a + 1 have different types.
a + 1 has the type int(*)[4]. Its value is offset sizeof(int[4]) bytes from the address of the first element of a. &a + 1 has the type int(*)[3][4]. Its value is offset sizeof(int[3][4]) bytes from the address of the first element of a.
Therefore if &a is placed at location 1000 (decimal) assuming 4-byte integers, then