2011-09-27 57 views
11

我想將0賦予單個語句中的所有聲明值。將單個值分配給多個變量

char r, g, b = 0; 

以上僅把0到B,而不是其他變量

+0

我猜測,上面只給0賦值而不是r值? – niko

+0

剛剛測試過這個。你是對的。接受你的編輯。 – Morrowless

回答

21

你可以做到這一點有兩種方式:

char r = 0, g = 0, b = 0; 

char r, g, b; 
r = g = b = 0; 
+1

所以這是如此簡潔? – Morrowless

+0

@Plenilune是的,或者你應該讓它們像Sandip建議的那樣靜態。 – DipSwitch

+5

不!不要讓它們變成靜態的。雖然他們將它們歸零,但如果你想讓它們重置,你仍然必須重新啓動它們,而使用靜態會引入各種其他問題。你的第二個解決方案是正確的。 – paxdiablo

10

Tersest形式爲:

int r,g,b=g=r=0; 
+0

以前從未見過!最後,我知道如何完成一個班輪! ('g'和'r'的順序並不重要,對嗎?他們只需要在'b'後面,對吧?) – winklerrr

+0

哈哈好的一個:D @winklerrr其餘的都是b後,順序無所謂。 – DipSwitch