2011-09-27 18 views
11

Quiero asignar 0 a todos los valores declarados en una sola instrucción.Asignar valor único a múltiples variables

char r, g, b = 0; 

Lo anterior sólo asigna 0 a B, pero no a las otras variables

+0

Supongo que la frase es, lo anterior solo asigna 0 a b en lugar de r? – niko

+0

Acabo de probar esto. Tienes razón. Aceptó su edición. – Morrowless

Respuesta

21

Puede hacerlo de dos maneras:

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

o

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

¿Así que esto es tan escueto como se pone? – Morrowless

+0

@Plenilune Sí, o debería hacer que sean estáticos como sugirió Sandip. – DipSwitch

+5

¡NO! No los hagas estáticos. Si bien eso los lleva a cero, aún debe reiniciarlos si desea que se restablezcan, y el uso de estática introducirá todo tipo de otros problemas. Tu segunda solución es la correcta. – paxdiablo

10

forma Tersest es:

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

¡Nunca lo vi antes! ¡Finalmente sé cómo hacerlo en una sola línea! (El orden de 'g' y' r' no es importante, ¿verdad? Simplemente tienen que estar detrás de 'b', ¿no?) – winklerrr

+0

jaja nice one: D @winklerrr el resto después de b sí, el orden no importa. – DipSwitch

Cuestiones relacionadas