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.