#include <stdio.h>
unsigned char modifyBit(unsigned char reg, int pos, int mode)
{
for(int i=7;i>=0;i--)
{
if(mode==1)
{
if(pos==i)
{
reg |=(1<<pos);
}
}
else if(mode==0)
{
if(pos==i)
{
reg &=~(1<<pos);
}
}
}
return reg;
}
int main() {
unsigned char reg;
int pos, mode;
scanf("%hhu %d %d", ®, &pos, &mode);
if(pos<=7)
{
printf("%d", modifyBit(reg, pos, mode));
}
else
{
printf("Position should be less than 7");
}
return 0;
}
Input
10 3 1
Expected Output
10