Code

#include <stdio.h>

void reassign_based_on_parity(int **pp, int *n2_ptr) {
    // **pp is the value pointer currently points to
    if (**pp % 2 == 0) {
        *pp = n2_ptr;  // if even, reassign pointer to n2
    }
    // if odd, do nothing, keep pointing to n1
}

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

    int *p = &n1;  // pointer initially points to n1

    reassign_based_on_parity(&p, &n2);

    printf("%d\n", *p);  // print value where pointer points

    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

10 50

Expected Output

50