but program by anika is giving *7 6 8* on gcc.....but *7 6 6 *on dev-cpp...........i am wondering if the output is compiler dependent !!
On Sun, Jun 12, 2011 at 6:33 AM, nicks <[email protected]> wrote: > 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.
