Got it. actually it slipped from my eyes :) thanks

On Sat, Dec 26, 2009 at 3:14 PM, Aanjhan R <[email protected]> wrote:

> On Sat, Dec 26, 2009 at 4:10 AM, Sunny Sharma <[email protected]>
> wrote:
> > oh no! then it is creating a problem...never mind. well there is another
> one
> > if   int x = 1, y = 1;
> > printf("%d",printf("%d%d",x,y));
> >
> > the output is coming 1 12 can you explain me how?
>
> Yes it is correct!
>
> printf operated in this way if it is used within another printf.
>
> Lets take the innermost printf
>
> printf("%d",x,y) -> is printed as 11 (clear)
>
> the outer printf now works a bit tricky.
>
> printf("%d", <previousprintfoutput>)
>
> Now this printf prints the length of the characters printed by the
> inner printf i.e two.
>
> The net output is now 112 which is what you get.
>
> If you modify the code to be something like printf("%d",printf("%d\t%d", x,
> y))
>
> You will get 113 as output as \t is another character.
>
> Hope it helps.
>
> Aanjhan
> _______________________________________________
> Users mailing list
> [email protected]
> http://lists.dgplug.org/listinfo.cgi/users-dgplug.org
>
_______________________________________________
Users mailing list
[email protected]
http://lists.dgplug.org/listinfo.cgi/users-dgplug.org

Reply via email to