On 27 December 2010 06:18, ali hagigat wrote: > No Bill, i do not include stdio.h on purpose! That is your mistake. > My program is exactly as follows: > main(){ > printf("kkkkkkkk=\n"); > } > and I compile it as: > gcc -o prog1 prog1.c > prog1.c: In function ‘main’: > prog1.c:2: warning: incompatible implicit declaration of built-in > function ‘printf’ > > I could not get my answer by google. I guess that printf is a built-in printf is declared in <stdio.h> > function and has a function prototype and probably the built-in > version is being used here. So why implicit declaration? and how it is > incompatible? If you do not declare a function in C then an implicit declaration is used, see the FAQ I sent you. The implicit declaration is not compatible with the corret declaration of printf in <stdio.h> > Is there a complete list of GCC error and warning messages (and their causes)? No, but this one is easy, you need to include <stdio.h>