Skip to content
Related Articles

Related Articles

Improve Article

C | Pointer Basics | Question 11

  • Difficulty Level : Easy
  • Last Updated : 05 Feb, 2013




#include<stdio.h> 
void f(int *p, int *q) 
  p = q; 
  *p = 2; 
int i = 0, j = 1; 
int main() 
  f(&i, &j); 
  printf("%d %d \n", i, j); 
  getchar(); 
  return 0; 
}

(A) 2 2
(B) 2 1
(C) 0 1
(D) 0 2


Answer: (D)

Explanation: See below f() with comments for explanation.

/* p points to i and q points to j */
void f(int *p, int *q) 
{ 
  p = q;    /* p also points to j now */
 *p = 2;   /* Value of j is changed to 2 now */
}
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 :