I have a question related to string comparison vs. character comparison.
Characters > and 0 (zero) have following decimal values 62
>
0
62
it returns -1 because it is comparing str2 to str1, not the other way around. Eg, "is 48 equal to 62". No, it's less than 62 so it returns -1. It's semantically a little confusing when you read the parameter order
-1
str2
str1