// Lee la variante equivocada: la etiqueta dice cadena y se lee un decimal.
#include <stdio.h>

typedef enum { VALUE_NUMBER, VALUE_TEXT } Kind;

typedef struct {
    Kind kind;
    union {
        double number;
        const char *text;
    } as;
} Cell;

int main(void) {
    Cell v;
    v.kind = VALUE_TEXT;
    v.as.text = "Callao";

    printf("texto: %s\n", v.as.text);
    printf("v.as.number = %g\n", v.as.number);
    return 0;
}
