What is the defined behavior in C for UINT_MAX + 1u? How safe is to assume it is zero?
UINT_MAX + 1u
It's safe. The C standard guarantees that unsigned integer overflow wrap-around results in zero.