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.com>wrote:
>>
>>> @kartheek so does it use stack for that?
>>>
>>>
>>> On Sun, Jan 9, 2011 at 11:03 AM, priya mehta 
>>> <priya.mehta...@gmail.com>wrote:
>>>
>>>> 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.com<algogeeks%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<algogeeks%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<algogeeks%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<algogeeks%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<algogeeks%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.

Reply via email to