The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
x
+13 votes
1.5k views

Consider the following function implemented in C:

void printxy(int x, int y) {
    int *ptr;
    x=0;
    ptr=&x;
    y=*ptr;
    *ptr=1;
    printf(“%d, %d”, x, y);
}

The output of invoking $printxy(1,1)$ is

  1. $0, 0$
  2. $0, 1$
  3. $1, 0$
  4. $1, 1$

 

asked in Programming by Active (2.1k points)
edited by | 1.5k views
already solved

8 Answers

+22 votes
Best answer

at first in loop we are giving $x=0$ then $ptr$ is pointing to $X$.

so $*ptr=0$

now we copying the value of $ptr$ to $y$ ,so $Y=0$

 x=0;      //value of x = 0  
    ptr= &x;      // ptr points to variable x
    y= *ptr;      // Y contain value pointed by ptr i.e. x= 0;


now value of $ptr$ is changed to $1$. so the location of $X$ itself got modified

 *ptr=1;  

as it is pointing to $x$ so $x$ will also be changed to $1$

so $1,0$ will be the value

 C is correct answer here

answered by Veteran (21.4k points)
edited by
+4 votes
we got x= 1 and y= 1;
void printxy(int x, int y) 
{  
    int *ptr;     //pointer is created which contain integer value.
    x=0;          //value of x = 0 here. 
    ptr= &x;      // ptr point to variable which has 0 
    y= *ptr;      // y contain value pointed by ptr i.e. x= 0;
    *ptr=1;       // value pointer by ptr is now set to 1 i.e. x= 1;
    printf("%d,%d",x,y);  // print x,y = x= 1 y=0

}

C is answer

answered by Veteran (60.4k points)
+1 vote
C) 1,0
answered by Active (1.6k points)
+1 vote

1,0 is the answer

answered by (127 points)
+1 vote

hope it might help.......

answered by Veteran (25.9k points)
+1 vote
Option C
answered by Loyal (2.8k points)
+1 vote
C is the answer
answered by Active (1.4k points)
0 votes

answer is C

answered by (171 points)


Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true

33,700 questions
40,250 answers
114,331 comments
38,857 users