2012-10-22 57 views
4

這是一段代碼。任何人都可以解釋一下,在圓括號內有一對數字是什麼意思。 (這是在C++。)一對數字用圓括號括起來

int a = 2, b = 2, c = 3, d = 1; 
    if((a,b)<(c,d)) 
     cout<<"case1"<<endl; 
    else 
     cout<<"case2"; 
+0

很可能是一個錯誤。編譯器會將它作爲逗號操作符處理,但這意味着表達式等同於'if(b,d)'...我懷疑程序員只是想做一些額外的無用按鍵... –

+1

@DavidRodríguez -dribeas:你的意思是if(b nneonneo

+0

讓我猜:面試問題? –

回答

13

這就是逗號操作;它評估左邊的東西,拋出結果,並返回右邊的結果。由於評估一個int變量沒有副作用,即if是語義上等同於

if(b < d) 
-2

,或者該值正在改變或由用戶所採取的作爲輸入可以使用&&(和),||(或)邏輯運營商理清你的代碼

if ((a<c) && (b<d))

if ((a<c) || (b<d))

這樣你就可以按你喜歡的方式製作案例。檢查這裏的運營商http://www.cplusplus.com/doc/tutorial/operators/

相關問題