Open In App

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.

Article Tags :