Code

#include <stdio.h>

void reassign_based_on_value(int **pp, int *n2_ptr) {
   
   int *n1_ptr= *pp; // deferencing the double pointer to n1 ptr
   int val = *n1_ptr;// deferencong the n1ptr to val
   if(val%2== 0)
   {
    *pp = n2_ptr;// update the double pointer to point t0 n2 *pp points to n1 which is updtaed to n2
   }
   
}

int main() {
    int n1, n2;
    scanf("%d %d", &n1, &n2);

    int *p = &n1;
    
    reassign_based_on_value(&p, &n2);

    printf("%d", *p);

    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

10 50

Expected Output

50