Re: [algogeeks] post and pre increment operators

2011-01-09 Thread juver++
You are wrong, this doesn't depend on the order which is used by printf.
In C/C++ order of evaluating function's parameters is undefined.
So you may receive different results in different compilers.

-- 
You received this message because you are subscribed to the Google Groups 
Algorithm Geeks group.
To post to this group, send email to algoge...@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.



Re: [algogeeks] post and pre increment operators

2011-01-08 Thread kartheek muthyala
@priya,

Generally printf evaluation starts from left to right
so first a++ using post increments assign the value of 3rd %d to be 2
then a++gets evaluated , now a value is 3
2nd %d takes a value as 3
1st %d takes a value as 3

if it is a preincrement like ++a in the third place
the output will be 3,3,3...

got it i guess...

Thanks,
Kartheek.
On Sun, Jan 9, 2011 at 10:38 AM, priya mehta priya.mehta...@gmail.comwrote:

  int a=2;
 printf(%d %d %d,a,a,a++);
 the output is 3 3 2
 can someone tell the logic behind this?

 --
 You received this message because you are subscribed to the Google Groups
 Algorithm Geeks group.
 To post to this group, send email to algoge...@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.comalgogeeks%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
Algorithm Geeks group.
To post to this group, send email to algoge...@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.



Re: [algogeeks] post and pre increment operators

2011-01-08 Thread kartheek muthyala
small correction printf evaluation starts from right to left.

On Sun, Jan 9, 2011 at 10:59 AM, kartheek muthyala
kartheek0...@gmail.comwrote:

 @priya,

 Generally printf evaluation starts from left to right
 so first a++ using post increments assign the value of 3rd %d to be 2
 then a++gets evaluated , now a value is 3
 2nd %d takes a value as 3
 1st %d takes a value as 3

 if it is a preincrement like ++a in the third place
 the output will be 3,3,3...

 got it i guess...

 Thanks,
 Kartheek.

 On Sun, Jan 9, 2011 at 10:38 AM, priya mehta priya.mehta...@gmail.comwrote:

  int a=2;
 printf(%d %d %d,a,a,a++);
 the output is 3 3 2
 can someone tell the logic behind this?

 --
 You received this message because you are subscribed to the Google Groups
 Algorithm Geeks group.
 To post to this group, send email to algoge...@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.comalgogeeks%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.




-- 
You received this message because you are subscribed to the Google Groups 
Algorithm Geeks group.
To post to this group, send email to algoge...@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.



Re: [algogeeks] post and pre increment operators

2011-01-08 Thread priya mehta
ok
i got that

On Sun, Jan 9, 2011 at 11:01 AM, kartheek muthyala
kartheek0...@gmail.comwrote:

 small correction printf evaluation starts from right to left.


 On Sun, Jan 9, 2011 at 10:59 AM, kartheek muthyala kartheek0...@gmail.com
  wrote:

 @priya,

 Generally printf evaluation starts from left to right
 so first a++ using post increments assign the value of 3rd %d to be 2
 then a++gets evaluated , now a value is 3
 2nd %d takes a value as 3
 1st %d takes a value as 3

 if it is a preincrement like ++a in the third place
 the output will be 3,3,3...

 got it i guess...

 Thanks,
 Kartheek.

 On Sun, Jan 9, 2011 at 10:38 AM, priya mehta priya.mehta...@gmail.comwrote:

  int a=2;
 printf(%d %d %d,a,a,a++);
 the output is 3 3 2
 can someone tell the logic behind this?

 --
 You received this message because you are subscribed to the Google Groups
 Algorithm Geeks group.
 To post to this group, send email to algoge...@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.comalgogeeks%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.



 --
 You received this message because you are subscribed to the Google Groups
 Algorithm Geeks group.
 To post to this group, send email to algoge...@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.comalgogeeks%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
Algorithm Geeks group.
To post to this group, send email to algoge...@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.



Re: [algogeeks] post and pre increment operators

2011-01-08 Thread kartheek muthyala
Yeah you might be knowing how the expression evaluators work using stack
right. printf also uses the same approach

On Sun, Jan 9, 2011 at 11:06 AM, priya mehta priya.mehta...@gmail.comwrote:

 @kartheek so does it use stack for that?


 On Sun, Jan 9, 2011 at 11:03 AM, priya mehta priya.mehta...@gmail.comwrote:

 ok
 i got that

   On Sun, Jan 9, 2011 at 11:01 AM, kartheek muthyala 
 kartheek0...@gmail.com wrote:

 small correction printf evaluation starts from right to left.


 On Sun, Jan 9, 2011 at 10:59 AM, kartheek muthyala 
 kartheek0...@gmail.com wrote:

 @priya,

 Generally printf evaluation starts from left to right
 so first a++ using post increments assign the value of 3rd %d to be 2
 then a++gets evaluated , now a value is 3
 2nd %d takes a value as 3
 1st %d takes a value as 3

 if it is a preincrement like ++a in the third place
 the output will be 3,3,3...

 got it i guess...

 Thanks,
 Kartheek.

 On Sun, Jan 9, 2011 at 10:38 AM, priya mehta 
 priya.mehta...@gmail.comwrote:

  int a=2;
 printf(%d %d %d,a,a,a++);
 the output is 3 3 2
 can someone tell the logic behind this?

 --
 You received this message because you are subscribed to the Google
 Groups Algorithm Geeks group.
 To post to this group, send email to algoge...@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.comalgogeeks%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.



 --
 You received this message because you are subscribed to the Google Groups
 Algorithm Geeks group.
 To post to this group, send email to algoge...@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.comalgogeeks%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.



  --
 You received this message because you are subscribed to the Google Groups
 Algorithm Geeks group.
 To post to this group, send email to algoge...@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.comalgogeeks%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
Algorithm Geeks group.
To post to this group, send email to algoge...@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.



Re: [algogeeks] post and pre increment operators

2011-01-08 Thread priya mehta
ok but the output of
int a=10,b;
b=a++ + ++a;
printf(%d,%d,%d,%d,b,a++,a,++a);
is 22 13 14 14
howz that then?

On Sun, Jan 9, 2011 at 11:11 AM, kartheek muthyala
kartheek0...@gmail.comwrote:

 Yeah you might be knowing how the expression evaluators work using stack
 right. printf also uses the same approach


 On Sun, Jan 9, 2011 at 11:06 AM, priya mehta priya.mehta...@gmail.comwrote:

 @kartheek so does it use stack for that?


 On Sun, Jan 9, 2011 at 11:03 AM, priya mehta priya.mehta...@gmail.comwrote:

 ok
 i got that

   On Sun, Jan 9, 2011 at 11:01 AM, kartheek muthyala 
 kartheek0...@gmail.com wrote:

 small correction printf evaluation starts from right to left.


 On Sun, Jan 9, 2011 at 10:59 AM, kartheek muthyala 
 kartheek0...@gmail.com wrote:

 @priya,

 Generally printf evaluation starts from left to right
 so first a++ using post increments assign the value of 3rd %d to be 2
 then a++gets evaluated , now a value is 3
 2nd %d takes a value as 3
 1st %d takes a value as 3

 if it is a preincrement like ++a in the third place
 the output will be 3,3,3...

 got it i guess...

 Thanks,
 Kartheek.

 On Sun, Jan 9, 2011 at 10:38 AM, priya mehta priya.mehta...@gmail.com
  wrote:

  int a=2;
 printf(%d %d %d,a,a,a++);
 the output is 3 3 2
 can someone tell the logic behind this?

 --
 You received this message because you are subscribed to the Google
 Groups Algorithm Geeks group.
 To post to this group, send email to algoge...@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.comalgogeeks%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.



 --
 You received this message because you are subscribed to the Google
 Groups Algorithm Geeks group.
 To post to this group, send email to algoge...@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.comalgogeeks%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.



 --
 You received this message because you are subscribed to the Google Groups
 Algorithm Geeks group.
 To post to this group, send email to algoge...@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.comalgogeeks%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.


 --
 You received this message because you are subscribed to the Google Groups
 Algorithm Geeks group.
 To post to this group, send email to algoge...@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.comalgogeeks%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
Algorithm Geeks group.
To post to this group, send email to algoge...@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.



Re: [algogeeks] post and pre increment operators

2011-01-08 Thread Priyanka Chatterjee
b=(11++)+ (++10)=11+11=22
a=12
in printf the control goes to right first , i.e. ++a , so
++a =(++12), (a becomes 13 but ++a is not printed) then control moves to a
but as the next expression  pushed in stack is of the same variable so
control  moves to a++. without printing a
a++= 13++, (now a becomes 14) , the control moves now to
a=14, the control moves to ++a
now as the value of a is changed ++a=14 (it evaluates a from all expressions
and  then prints)
the expressions are popped from stack ( right to left) and printed left to
right . as a++=13,a= 14, ++a=14

I hope now things get clearer to you

On 9 January 2011 11:16, priya mehta priya.mehta...@gmail.com wrote:

 ok but the output of
 int a=10,b;
 b=a++ + ++a;
 printf(%d,%d,%d,%d,b,a++,a,++a);
 is 22 13 14 14
 howz that then?

 On Sun, Jan 9, 2011 at 11:11 AM, kartheek muthyala kartheek0...@gmail.com
  wrote:

 Yeah you might be knowing how the expression evaluators work using stack
 right. printf also uses the same approach


 On Sun, Jan 9, 2011 at 11:06 AM, priya mehta priya.mehta...@gmail.comwrote:

 @kartheek so does it use stack for that?


 On Sun, Jan 9, 2011 at 11:03 AM, priya mehta 
 priya.mehta...@gmail.comwrote:

 ok
 i got that

   On Sun, Jan 9, 2011 at 11:01 AM, kartheek muthyala 
 kartheek0...@gmail.com wrote:

 small correction printf evaluation starts from right to left.


 On Sun, Jan 9, 2011 at 10:59 AM, kartheek muthyala 
 kartheek0...@gmail.com wrote:

 @priya,

 Generally printf evaluation starts from left to right
 so first a++ using post increments assign the value of 3rd %d to be 2
 then a++gets evaluated , now a value is 3
 2nd %d takes a value as 3
 1st %d takes a value as 3

 if it is a preincrement like ++a in the third place
 the output will be 3,3,3...

 got it i guess...

 Thanks,
 Kartheek.

 On Sun, Jan 9, 2011 at 10:38 AM, priya mehta 
 priya.mehta...@gmail.com wrote:

  int a=2;
 printf(%d %d %d,a,a,a++);
 the output is 3 3 2
 can someone tell the logic behind this?

 --
 You received this message because you are subscribed to the Google
 Groups Algorithm Geeks group.
 To post to this group, send email to algoge...@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.comalgogeeks%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.



 --
 You received this message because you are subscribed to the Google
 Groups Algorithm Geeks group.
 To post to this group, send email to algoge...@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.comalgogeeks%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.



 --
 You received this message because you are subscribed to the Google Groups
 Algorithm Geeks group.
 To post to this group, send email to algoge...@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.comalgogeeks%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.


 --
 You received this message because you are subscribed to the Google Groups
 Algorithm Geeks group.
 To post to this group, send email to algoge...@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.comalgogeeks%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.


  --
 You received this message because you are subscribed to the Google Groups
 Algorithm Geeks group.
 To post to this group, send email to algoge...@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.comalgogeeks%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.




-- 
Thanks  Regards,
Priyanka Chatterjee
Final Year Undergraduate Student,
Computer Science  Engineering,
National Institute Of Technology,Durgapur
India
http://priyanka-nit.blogspot.com/

-- 
You received this message because you are subscribed to the Google Groups 
Algorithm Geeks group.
To post to this group, send email to algoge...@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.