The expression ++(a+1) breaks down as: (a+1) points to the second row {4,5,6}, (a+1) gives the address of the first element of that row, *(a+1) dereferences to get the value 4, and ++ pre-increments it to 5 before printf uses it. The array is modified, and 5 is printed.