Skip to content
Related Articles

Related Articles

Improve Article

C | Pointer Basics | Question 1

  • Difficulty Level : Basic
  • Last Updated : 04 Feb, 2013

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.

Want to learn from the best curated videos and practice problems, check out the C Foundation Course for Basic to Advanced C.
My Personal Notes arrow_drop_up
Recommended Articles
Page :