unsigned becomes signed in if-statement comparisons?
I have searched this site for an answer and found many responses to unsigned/signed comparison but this problem is that only unsigned parameters are compared but still it works funny. The problem with the following code is that the first if -statment does not happen ("hello") where as the second ("world") does. This I have interpreted as the calculation that is done inside the if -statment generates a negative number but the exact same calculation done with the result saved to a variables does not (even though the result is being saved to a signed variable). The compiler used is gcc 4.4.