2013-12-12 87 views
2
int a = 10; 
int b = 10; 
int c = 10; 

我想知道是否有替代方法来比较三个整数或任何值是否相等。替代方法来比较三个整数是否相等

目前我做的方法是

if((a == b) && (a == c) && (b == c)){ 

} 

我不知道是否有一个备用的,更简洁的方式来做到这一点。

回答

16

平等是传递的;你不需要最后的比较b == c。如果a == ba == c,则b == c

尝试

if ((a == b) && (a == c)){ 
0

如果你需要的是知道三是否相等,那么你可以使用:

if ((a==b) && (b==c)) { 

} 
0

替代变型:

int t1 = a-b; 
int t2 = c-b; 
if ((t1|t2) == 0) // both are equal 
+1

这是不是真的更比其他答案紧凑,在这里肯定不太清楚;) –

+0

@OliCharlesworth它不清楚,但它是“alterna tive“:)也可以更快一点(有时候,至少对于c/C++来说) –

+0

你是说'0/0'等于'0'吗? –