#include <stdio.h> typedef struct { union { unsigned short reg; struct { unsigned en : 1; unsigned mode : 1; unsigned priority : 2; unsigned reserved : 12; } bitfield; }; } ConfigRegister; int validate_config(ConfigRegister *cfg) { // Write logic using pointer access if (cfg->bitfield.en == 0) return 0; if (cfg->bitfield.priority == 3) return 0; if (cfg->bitfield.reserved != 0) return 0; return 1; } int main() { ConfigRegister cfg; scanf("%hx", &cfg.reg); int result = validate_config(&cfg); printf("%d", result); return 0; }
Test Cases
Test Results
Input
0005
Expected Output
1