#include <stdio.h> enum bitmask { bitmask_A = 1, bitmask_B = 2, bitmask_C = 4 }; typedef enum bitmask bitmask; struct a_s { bitmask member; }; typedef struct a_s a_t; bitmask f(a_t *arg) { arg->member |= bitmask_B; return bitmask_C; } int main() { a_t foo; foo.member = bitmask_A; foo.member |= f(&foo); printf("%d\n", foo.member); return 0; }What happens?