It's not true that (unsigned)INT_MAX + 1 is never 0 - it's allowed for UINT_MAX == INT_MAX (leaving the sign bit unused in the unsigned representation). I've never seen such an implementation, though.
Yep, you're right.
Re:A Quiz About Integers in C
by matheusalmeida on Monday June 04, 2012 @04:12AM
(#4063098)
Yes, my mistake. I meant UINT_MAX + 1.
INT_MAX + 1 is never 0 for unsigned int. (unsigned)INT_MAX + 1 is equal to INT_MAX + 1. You're thinking of UINT_MAX + 1, which is always 0.