C | Pointer Basics | Question 1

What is the output of following program?

# include <stdio.h>
void fun(int x)
{
    x = 30;
}

int main()
{
  int y = 20;
  fun(y);
  printf("%d", y);
  return 0;
}

(A) 30
(B) 20
(C) Compiler Error
(D) Runtime Error


Answer: (B)

Explanation: Parameters are always passed by value in C. Therefore, in the above code, value of y is not modified using the function fun(). So how do we modify the value of a local variable of a function inside another function. Pointer is the solution to such problems. Using pointers, we can modify a local variable of a function inside another function. See the next question.
Note that everything is passed by value in C. We only get the effect of pass by reference using pointers.




Recommended Posts:



0 Average Difficulty : 0/5.0
No votes yet.