First, recognize that you are passing addresses instead of integer values to printf_s. Take a look at the warning messages issued by the compiler. In particular, note the types of the arguments that the compiler is warning about. To determine the addresses passed to the function, the compiler is doing address arithmetic based on the type of the address. In calculating the address of &arr+1 the compiler starts by taking the address of the array. The compiler looks at the type of the argument and determines that size of the int (*)[5] type is 20. So it adds 20 to the starting address of the array.
Look at the difference in the warning messages and the result of using the following -
printf_s("%u %u\n", arr + 1, (int*) &arr + 1);