2013-12-12 50 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'嗎? –