找出标签联合体里的 bug

来自 C 结构体、联合体与枚举
C23 (GCC 13.3.0) 进阶 4分钟 找出 1处问题

找出打印前破坏这个带标记联合体的代码行。

C
#include <stdio.h>

typedef enum { VALUE_COUNT, VALUE_RATIO } ValueKind;

typedef struct {
    ValueKind kind;
    union { int count; double ratio; } as;
} Value;

int main(void) {
    Value value = {VALUE_RATIO, {.ratio = 0.5}};
    value.kind = VALUE_COUNT;
    printf("%d\n", value.as.count);
    return 0;
}
在试验场中打开
报告错误