dange@fendou: ~ $ cat t.c int i=1; int main(){int i=i; printf("i = %d\n", i); return 0;} dange@fendou: ~ $ gcc t.c -o t t.c: In function ‘main’: t.c:1:31: warning: implicit declaration of function ‘printf’ [-Wimplicit-function-declaration] int i=1; int main(){int i=i; printf("i = %d\n", i); return 0;} ^~~~~~ t.c:1:31: warning: incompatible implicit declaration of built-in function ‘printf’ t.c:1:31: note: include ‘<stdio.h>’ or provide a declaration of ‘printf’ +#include <stdio.h> int i=1; int main(){int i=i; printf("i = %d\n", i); return 0;} ^~~~~~ dange@fendou: ~ $ ./t i = 0