Re: Unsigned....
Um. The loop will exit immediately, as u is already < 200. Unless u is a 7 or fewer bit variable, or a signed byte (although even there most compilers would treat 200 as an unsigned byte or signed word, and cast u as an equivalent to enable the comparison).
Even then, I can't work out why you think there'd be 101 iterations.