@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<http://www.google.com/url?sa=D&q=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.

Reply via email to