in a c program if you call "fwritef("got here")", you will get a compileerror, but if you add the line "void fwritef(char *);", you won't. why?

C
in a c program if you call "fwritef("got here")", you will get a compileerror, but if you add the line "void fwritef(char *);", you won't. why?
Source

Also in C: