no it's a=1 b=1 i=2 i ran it on gcc (linux ubuntu 11.04)
On Sun, Jun 12, 2011 at 6:26 AM, sanjay ahuja <[email protected]>wrote: > with GCC the above code gives a = 1 and b = 2 > > > On Sun, Jun 12, 2011 at 6:39 PM, nicks <[email protected]> wrote: > > @himanshu....what abt this ?? > > > > #include<stdio.H> > > # include <conio.h> > > int i=2; > > main() > > { > > void add(); > > add(i++,--i); > > printf("\ni=%d \n",i);system("pause"); > > } > > void add(int a ,int b) > > { > > printf("\na=%d b=%d",a,b); > > } > > > > OUTPUT - > > a=1 b=1 > > i=2 > > > > acc. to ur logic output should be - > > a=1 b=2 > > i=2 > > > > > > On Sun, Jun 12, 2011 at 5:42 AM, Anika Jain <[email protected]> > wrote: > >> > >> thanks himanshu finally i got the reason!! > >> :) > >> > >> On Sun, Jun 12, 2011 at 5:59 PM, himanshu kansal > >> <[email protected]> wrote: > >>> > >>> @anika:cz on gcc arguemnts r eval frm right to left and assgnment to a > >>> pre increment expression is delayed vry mch.... > >>> so on eval frm right to left.... > >>> frst a is incremented...(6) bt remember d new value is nt pushed on > stack > >>> till nw....(cz assgnmnt is delayed) > >>> thn next value is 6...nd thn a is incremented.....here being a post > >>> increment op....assgnmnt is made 1st (2nd arg to fun is 6)and a is > >>> incrementd to 7.... > >>> simalrly.....assgnmnt is made(1st arg is 7) and a is incremnted to > 8..... > >>> nw d assgnmnt is made to the 3rd arg(d assgnmnt whch ws delayed till > >>> nw).....hence 3rd arg becomes 8..... > >>> so it prints 7 6 8...... > >>> > >>> On Sun, Jun 12, 2011 at 5:33 PM, Anika Jain <[email protected]> > >>> wrote: > >>>> > >>>> can anybody explain that in following code y output is coming to be: 7 > 6 > >>>> 8 > >>>> > >>>> void call(int a,int b,int c) > >>>> { > >>>> printf("%d %d %d",a,b,c); > >>>> } > >>>> > >>>> int main() > >>>> { > >>>> int a=5; > >>>> call(a++,a++,++a); > >>>> return 0; > >>>> } > >>>> > >>>> > >>>> On Sat, Jun 11, 2011 at 8:21 PM, PRAMENDRA RATHi rathi > >>>> <[email protected]> wrote: > >>>>> > >>>>> IN second program: > >>>>> in function value are always push in the stack from right. > >>>>> so first value is --i that will make i=1 and value 1 will be passed > to > >>>>> function > >>>>> and > >>>>> after that i++ that's means i will be passed. > >>>>> so 1 will be passed and after passing value. i will changed to 2. > >>>>> > >>>>> if u want to know why reverse order than can go through: > >>>>> > >>>>> http://cs.nyu.edu/courses/fall03/V22.0201-003/c_param.html > >>>>> ----------------------------------------- > >>>>> PRAMENDRA RATHI > >>>>> NIT ALLAHABAD > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> On Sat, Jun 11, 2011 at 7:28 PM, Vishal Thanki < > [email protected]> > >>>>> wrote: > >>>>>> > >>>>>> In 1st program, 2nd printf requires one more argument. And basically > >>>>>> %a is used for printing a double value in hex. see "man 3 printf". > >>>>>> > >>>>>> On Sat, Jun 11, 2011 at 5:29 PM, nicks <[email protected]> > >>>>>> wrote: > >>>>>> > Hello friends..plz help me in understanding the following C Output > >>>>>> > > >>>>>> > first one is -- > >>>>>> > > >>>>>> > #include<stdio.h> > >>>>>> > #include<conio.h> > >>>>>> > main() > >>>>>> > { > >>>>>> > int a=5; > >>>>>> > printf("a=%d\n",a); > >>>>>> > printf("%a=%d",a); > >>>>>> > getch(); > >>>>>> > } > >>>>>> > OUTPUT - > >>>>>> > a=5 > >>>>>> > 0x1.2ff380p-1021=4199082 > >>>>>> > > >>>>>> > > >>>>>> > and the other one is -- > >>>>>> > > >>>>>> > #include<stdio.H> > >>>>>> > # include <conio.h> > >>>>>> > int i=2; > >>>>>> > main() > >>>>>> > { > >>>>>> > void add(); > >>>>>> > add(i++,--i); > >>>>>> > printf("\ni=%d \n",i);system("pause"); > >>>>>> > } > >>>>>> > void add(int a ,int b) > >>>>>> > { > >>>>>> > printf("\na=%d b=%d",a,b); > >>>>>> > } > >>>>>> > > >>>>>> > OUTPUT - > >>>>>> > a=1 b=1 > >>>>>> > i=2 > >>>>>> > > >>>>>> > -- > >>>>>> > You received this message because you are subscribed to the Google > >>>>>> > Groups > >>>>>> > "Algorithm Geeks" group. > >>>>>> > To post to this group, send email to [email protected]. > >>>>>> > To unsubscribe from this group, send email to > >>>>>> > [email protected]. > >>>>>> > 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 [email protected]. > >>>>>> To unsubscribe from this group, send email to > >>>>>> [email protected]. > >>>>>> 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 [email protected]. > >>>>> To unsubscribe from this group, send email to > >>>>> [email protected]. > >>>>> 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 [email protected]. > >>>> To unsubscribe from this group, send email to > >>>> [email protected]. > >>>> For more options, visit this group at > >>>> http://groups.google.com/group/algogeeks?hl=en. > >>> > >>> > >>> > >>> -- > >>> > >>> Regards > >>> Himanshu Kansal > >>> Msc Comp. sc. > >>> (University of Delhi) > >>> > >>> -- > >>> You received this message because you are subscribed to the Google > Groups > >>> "Algorithm Geeks" group. > >>> To post to this group, send email to [email protected]. > >>> To unsubscribe from this group, send email to > >>> [email protected]. > >>> 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 [email protected]. > >> To unsubscribe from this group, send email to > >> [email protected]. > >> 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 [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group at > > http://groups.google.com/group/algogeeks?hl=en. > > > > > > -- > Sanjay Ahuja, > Analyst, Financing Prime Brokerage > Nomura Securities India Pvt. Ltd > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.
