#include <stdio.h>
unsigned char modifyBit(unsigned char reg, int pos, int mode) {
// Write your code here
reg=((reg&~(1<<pos))|(mode<<pos));
return reg;
}
int main() {
unsigned char reg;
int pos, mode;
scanf("%hhu %d %d", ®, &pos, &mode);
printf("%d", modifyBit(reg, pos, mode));
return 0;
}
Solving Approach
>>> Initially we need to mask the position in the register , means in which position you want to manipulate the register so after masking that position go with OR Operation with mode data left shifted with the position that's all you can do it. Thank you..