Skip to content
GATEiit

GATE CSE 2025 Session 1 Q34: Output after writing through a pointer in a function

Question

Consider the following C program:

#include <stdio.h>
void foo(int *p, int x){
    *p=x;
}
int main(){
    int *z;
    int a = 20, b = 25;
    z = &a;
    foo(z,b);
    printf("%d",a);
    return 0;
}

The output of the given C program is __________. (Answer in integer)

Try it: numerical answer: type the value

Numerical answer. No negative marking.
Show answer and explanation

Answer: 25 (official GATE 2025 final answer key)

Concept used: Passing a pointer lets the callee modify the caller's variable.

First step: z points to a, so inside foo, *p = x stores b's value into a.

Full step-by-step solution

Detailed working, common mistakes and linked mock tests will be available with a free GATEiit account. Log-in is coming soon.

Share this question

WhatsAppDownload image

Source: official GATE 2025 Session 1 CS question paper and final answer key, organised by IIT Roorkee. Question paper · Answer key