Sorry for being pedantic, but your "C" example declares Pythagoras() as returning a float yet you cast the return value of sqrt() to int. As it seems that your intent was to truncate, you should use floor() instead of relying on casting hacks.
See Paul's full response here: Interact at the Center"I appreciate how many of you read my article, commented on it in various online venues, and linked to it so that others might read it... (more) If anyone else has some specific questions or comments about my article, I would love to hear them. ~Paul
Trap full -- please empty.