Set or Clear a Specific Bit in a Register

Code

#include <stdio.h>

int c_set (int a, int b, int c){
    if (c == 1){
        a |= (1 << b);
    }else if (c == 0){
        a &= ~(1 << b);
    }
    return a;
}

int main(){
    int r_val, s_change, status; 
    if (scanf ("%d %d %d", &r_val, &s_change, &status) != 3) return 0;
    
    int d = c_set (r_val, s_change, status);

    printf ("%d", d);

    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

10 3 1

Expected Output

10