I have tried compling it with g++ and also with g++ -Wall , but it gives no
error warning message. It runs smoothly

On Sun, Feb 7, 2010 at 4:51 PM, Prashant Batra <[email protected]>wrote:

> On Sat, Feb 6, 2010 at 4:29 PM, rakesh kumar <[email protected]> wrote:
> > Hi all,
> >         Today while studying a book i just saw the following lines of
> code:
> > int main(void)
> > {
> >  int printf(const char *n,...);
> The local declaration(prototype of the function)
> >  int a=1;
> >  printf("abcdef");
> Calls the C library printf() function.at the time of linking.
> > return 0;
> > }c
> >
> >  and the output was: abcdef
> > When i tried to run this code, it ran well without any error and this was
> > asked in GATE exam also. I am confused, how it ran without <stdio.h>,
> when i
> > used printf() function and gave the same output as printf gives. Okay
> after
> > that i commented the third line "int printf(const char *n,....);", the
> > output didn't get affected. Now i am thinking when we can use printf()
> > function without any prototype or defining any header, then why do we
> need
> > to use #include<> in our program, because when i changed this program a
> bit
> > by substituting printf() with scanf() it worked fine like scanf() does
> > normally.
> >  Can anyone explain me,what is this?
> The C compiler is a bit lenient in syntactic analysis part for
> functions. It assumes a default declaration. And while linking links
> your printf() call to the library fucntion.But it should give
> warning(saying some implicit declaration).
> just try compiling with -Wall option set, you will get the warning.
> Also compile the code using g++, it will give error, saying prototype not
> found.
> > Thanks
> > _______________________________________________
> > Ilugd mailing list
> > [email protected]
> > http://frodo.hserus.net/mailman/listinfo/ilugd
> >
>
> _______________________________________________
> Ilugd mailing list
> [email protected]
> http://frodo.hserus.net/mailman/listinfo/ilugd
>
_______________________________________________
Ilugd mailing list
[email protected]
http://frodo.hserus.net/mailman/listinfo/ilugd

Reply via email to