2011-09-27 113 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