2013-06-02 69 views
0

比如我有這樣的說法什麼?和:意味着在C + +?

return (m > n ? m : n); 

什麼是問號m > nm : n之間是什麼意思?
m : n中的冒號是什麼意思?

+2

谷歌'C三元operator'或'條件expressions' – Elazar

+0

提示:在python它寫成:'返回m如果m> n else n' – Elazar

+1

@ H2CO3和其他:如果你們都想繼續辯論,把它帶到它所屬的[meta](http://meta.stackoverflow.com)。 –

回答

0

這是三元運算符,這意味着如果M大於N,則哆。瑪否則做N,它相當於:

if(m>n) 
    return m; 
else 
    return n; 
+2

而對於記錄,操作符的名稱是「條件操作符」 「三元運營商」。 – 2013-06-02 20:58:04

+1

它是* a *三元運算符:) – Elazar

+1

「如果m大於n,則執行m否則執行n」 - 否。也許:「如果m大於n,則評估爲m,否則評估爲n」 – Elazar

1

它的技術名稱是有條件的經營者,這是爲if-then;else速記。

if m > n 
    then m 
    else n 

或在實際C++語法:N:

if(m > n) 
{ 
    return m; 
} 
else 
{ 
    return n; 
} 

什麼是問號M> n和m之間是什麼意思? m:n中的冒號 是什麼意思?

?:是條件運算符語法的一部分。 ?指示左表達式應該是布爾評估truefalse:劃定了truefalse結果。的:左側是的結果,如果該表達式的true:右側是結果如果表達式是false

+0

哈。感謝:)快速輸入和編輯,而不是思考適當的語法。 – Alan

+0

順便說一下,它也適用於賦值運算符的左側。 – franji1

+1

@ franji1它不是標準C.雖然它*是*標準C++。 – Elazar