#include <stdio.h> #include <stdint.h> typedef struct { uint8_t id; char flag[13]; }st_flag; const st_flag flag_list[8] = { {0,"Power On"}, {1,"Error"}, {2,"Tx Ready"}, {3,"Rx Ready"}, {4,"Overheat"}, {5,"Undervoltage"}, {6,"Timeout"}, {7,"Reserved"} }; void decode_status(uint8_t status_reg) { for( int i = 0; i < 8; i++ ){ if( (status_reg & (1 << i)) != 0 ){ printf("%s\n", &(flag_list[i].flag)); } } } int main() { uint8_t reg; scanf("%hhu", ®); decode_status(reg); return 0; }
Solving Approach
Test Cases
Test Results
Input
13
Expected Output
Power On Tx Ready Rx Ready