Code

#include <stdio.h>

void update_pointer(int **pp, int *n2)
{
    if (**pp % 2 == 0)   // If value pointed is even
    {
        *pp = n2;       // Reassign pointer to n2
    }
}

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

    int *ptr = &n1;               // Initially pointer points to n1
    update_pointer(&ptr, &n2);    // Pass address of pointer

    printf("%d", *ptr);           // Print final pointed value

    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

10 50

Expected Output

50