C | Pointer Basics | Question 11

filter_none

edit
close

play_arrow

link
brightness_4
code

#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; 
}

chevron_right


(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 */
}


My Personal Notes arrow_drop_up


Article Tags :
Practice Tags :


1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.