@all Stop guessing and making your own standards. C standards haven't defined anything (though in gcc arguments are processed from left to right) about processing arguments in a function call. And sentence like "assgnment to a preincrement expression is delayed vry mch...." have no meaning . Seriously which book have you referred. This all fall in category of UNDEFINED BEHAVIOR. If a value of a variable is changed more than once between two sequence points, it give rises to side-effect which lead to undefined behavior. There is no explanation for this output supported by C standards. On Jun 12, 8:14 pm, varun pahwa <[email protected]> wrote: > yes the output is compiler dependent. > > > > > > > > > > On Sun, Jun 12, 2011 at 6:35 AM, nicks <[email protected]> wrote: > > 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. > > -- > Varun Pahwa > B.Tech (IT) > 7th Sem. > Indian Institute of Information Technology Allahabad. > Ph : 09793899112 ,08011820777 > Official Email :: [email protected] > Another Email :: [email protected] > > People who fail to plan are those who plan to fail.
-- 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.
