在我的書中有一段我不明白的代碼。它是可悲的是沒有解釋它做什麼...C++這段代碼做了什麼?
int big = 200;
int small = 100;
int max = (a <= b) ? big : small;
所以我知道的是,有3個變量(笑...)。
整數'max'得到的值很大,但是爲什麼? (a <= b)
顯然是一個條件,但'?'是什麼?和':'呢?
我希望有人能解釋我...
在我的書中有一段我不明白的代碼。它是可悲的是沒有解釋它做什麼...C++這段代碼做了什麼?
int big = 200;
int small = 100;
int max = (a <= b) ? big : small;
所以我知道的是,有3個變量(笑...)。
整數'max'得到的值很大,但是爲什麼? (a <= b)
顯然是一個條件,但'?'是什麼?和':'呢?
我希望有人能解釋我...
int max = (a <= b) ? big : small;
一樣的是
int max;
if(a <= b) max = big;
else max = small;
如果a
小於或等於b
那麼max是等於大,否則最多等於小。欲瞭解更多檢查Ternary Operator
這是一樣的:
if(a <= b){
max = big;
}
else{
max = small;
}
這是相同的:
int big = 200, small = 100, max;
if (a <= b)
max= big;
else
max = small;
?:
是有條件的經營者。
int max =(a<=b) ? big : small
意味着如果a<=b
爲真,則max=big i.e. 200
其他max=small i.e. 100
一般語法:
condition ? value_if_true : value_if_false
(Pedantic)更準確地說,'?'和':'一起是條件賦值操作符。 http://en.wikipedia.org/wiki/%3F:#Conditional_assignment – 2013-03-15 20:00:39
謝謝@ william.berg給你建議:) – Sachin 2013-03-15 20:04:19
http://www.cplusplus.com/articles/1AUq5Di1/ – NPE 2013-03-15 19:53:11
omfg爲什麼我得到這些倒票?它沒有在我的書中解釋過,當我使用它時沒有任何用處! – 2013-03-15 19:57:13
您是否嘗試在Stack Overflow上搜索'[C++]「?」'? – crashmstr 2013-03-15 19:58:40