2012-07-01 7 views

Respuesta

11

Porque la condición se evalúa como 0 o 1, y la cadena "s" contiene exactamente un carácter antes del 0-terminator. Por lo tanto, "s" + bool evaluará a la dirección "s" si bool es falso, y a un carácter detrás de eso, la dirección del terminador 0 si es verdadero.

Es un hack genial, pero nunca use un código como ese en serio.

+0

ah, ya veo ... gracias – Oxdeadbeef