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.
