而(unsigned)abs(a)*(unsigned)abs(b)>=INT_MAX却不行?
两个式子在数学上是有相同的意义的,不过 (unsigned)abs(b)>=INT_MAX/(unsigned)abs(a) 这个式子的两侧的表达式的值都是不超过INT_MAX 的,这表明这个式子是不会出错的,但 (unsigned)abs(a)*(unsigned)abs(b)>=INT_MAX 这个不等式的左侧的式子在超过 INT_MAX 的范围后会自动进位变成小于等于 INT_MAX 的数,也就是说这个式子是一直成立的,无法通过这个式子来判断有没有数据的溢出