Open In App

C | Pointer Basics | Question 11

Like Article
Like
Save Article
Save
Share
Report issue
Report

C




#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", 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 */
}


Quiz of this Question
Please comment below if you find anything wrong in the above post


Last Updated : 05 Feb, 2013
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads