CoolInterview.com - World's Largest Collection of Interview Questions
Send Free SMS
 Interview Questions  
 Our Services  


INTERVIEW QUESTIONS LANGUAGES C DETAILS
Question :
main()
{
int i =10, j = 20;
clrscr();
printf("%d, %d, ", j-- , --i);
printf("%d, %d ", j++ , ++i);
}



Category C Interview Questions
Rating (0.0) By 0 users
Added on 7/18/2006
Views 755
Rate it!
Answers:

A) 20, 9, 19, 10
in first -- printf "j" will be printed first then subtracted one from it. however from "i" one will subtracted before printing it on the screen




In printf() evaluation happens from right to left. <--- . so --i is evaluated first and then j--.

When --i is evaluated, first it should decrement and then assign to i. So the value becomes 9.
When j-- is evaluated, first assign and then decrement. So j-- value will be 20 only at that time later it will be 19.

At this point of time i=9 and j=19.

Now the second printf(), Here also right to left. So ++i value will be(increment and then assign) 10. Where as j++(assign first then increment) its value will be still 19. After this printf() if we print the i and j values it will be 10 and 20.

Extra Information:
Whenever parameters are passed to a function, after evaluation they are stored in stack. similarly, --i value ie 9 is pushed into stack and later j-- value ie 20. So while printing on the screen, the first value ie j-- is poped first and later --i value. Hence we get 20,9 as the output of the first printf(). similarly we get 19,10



 Posted by: Syed Baseer Ahmed    

Contact Syed Baseer Ahmed  Contact Syed Baseer Ahmed


If you have the better answer, then send it to us. We will display your answer after the approval.
Name :*
Email Id :*
Answer :*
Verification Code Code Image - Please contact webmaster if you have problems seeing this image code Not readable? Load New Code
Process Verification  Enter the above shown code:*
Inform me about updated answers to this question

   
Related Questions
View Answer
void main ()
{
int x = 10;
printf ("x = %d, y = %d", x,--x++);
}


View Answer
main()
{
char c;
int i = 456;
clrscr();
c = i;
printf("%d", c);
}


View Answer
main()
{
int c = 5;
printf("%d", main||c);
}


View Answer
main()
{
int i = 100;
clrscr();
printf("%d", sizeof(sizeof(i)));
}


View Answer
main()
{
printf("%d, %d", sizeof('c'), sizeof(100));
}


View Answer
void func1(int (*a)[10])
{
printf("Ok it works");
}
void func2(int a[][10])
{
printf("Will this work?");
}

main()
{
int a[10][10];
func1(a);
func2(a);
}


View Answer
main()
{
char *a = "Hello ";
char *b = "World";
clrscr();
printf("%s", strcpy(a,b));
}


View Answer
main()
{
char *a = "Hello ";
char *b = "World";
clrscr();
printf("%s", strcat(a,b));
}


View Answer
struct Foo
{
char *pName;
char *pAddress;
};
main()
{
struct Foo *obj = malloc(sizeof(struct Foo));
clrscr();
obj->pName = malloc(100);
obj->pAddress = malloc(100);
strcpy(obj->pName,"Your Name");
strcpy(obj->pAddress, "Your Address");
free(obj);
printf("%s", obj->pName);
printf("%s", obj->pAddress);
}


View Answer
struct Foo
{
char *pName;
};
main()
{
struct Foo *obj = malloc(sizeof(struct Foo));
clrscr();
strcpy(obj->pName,"Your Name");
printf("%s", obj->pName);
}


View Answer

Please Note: We keep on updating better answers to this site. Subscribe to our newsletter to get notified when better answer is posted.

Notify me when better answer is posted!
Email:

View ALL C Interview Questions

User Options
Sponsored Links


Copyright ©2003-2010 CoolInterview.com, All Rights Reserved.
Privacy Policy | Terms and Conditions
Page URL: http://www.coolinterview.com/interview/6002/default.asp?cachecommand=bypass


Download Yahoo Messenger | Placement Papers| FREE SMS | ASP .Net Tutorial | Web Hosting | Free SMS | Dedicated Servers | Joke of the Day

0.67