There are two int variables: a and b, don’t use “if”, “? :”, “switch” or other judgement statements, find out the biggest one of the two numbers.
// 如果 i >= 0,返回0。否则返回1。在 max() 中被调用。
{
return unsigned(i) >> (sizeof (int) * 8 - 1);
}
// 返回两个整型参数中数值较大的参数的值。
int max(int a, int b)
{
int p[2];
p[0] = a;
p[1] = b;
return p[signof(a - b)];
}