All applicants to our company must pass a simple quiz using C as part of early screening process.
It consists of a C source file that must be modified to provide the desired functionality. We clearly state that we will attempt to compile the file as-is, with no changes.
Almost all applicants user “strlen” but half of them do not include “string.h”, so it does not compile until I include it.
Are they just lazy or are there compilers that do not require you to include standard library files, such as “string.h”?
GCC will happily compile the following code as is:
It will complain about
incompatible implicit declaration of built-in function ‘printf’andstrlen(), but it will still produce an executable.If you compile with
-Werrorit won’t compile.