可能重複:
C++ Comma Operator
Uses of C comma operator這裏使用了逗號運算符?
我沒有新的C++,但這是我第一次看到下面的代碼:
int a=0;
int b=(a=2,a+1);
那是C++代碼。你能告訴我這裏發生了什麼嗎?變量b如何得到值3?
可能重複:
C++ Comma Operator
Uses of C comma operator這裏使用了逗號運算符?
我沒有新的C++,但這是我第一次看到下面的代碼:
int a=0;
int b=(a=2,a+1);
那是C++代碼。你能告訴我這裏發生了什麼嗎?變量b如何得到值3?
該代碼相當於此:
int a = 2 ;
int b = a + 1 ;
首先表達到逗號的左側被評估,然後在一個在其右側。最右邊表達式的結果存儲在=
符號左側的變量中。
查看逗號運算符以瞭解更多詳細信息。
(a = 2, a + 1);
因爲在一般情況下,操作者(A,B)返回b和在計算返回圖3(a,b)中從右到左開始。所以,你的情況,(a = 2, a + 1)
回報a + 1
,和運營商a = 2
後執行a + 1
回報3.
查找逗號操作符。 – chris
不要編寫這樣可怕的代碼來閱讀。 –
這是我看到的代碼。你說什麼是可怕的閱讀?你的意思是不要在這種情況下使用逗號運算符或什麼? – seeker