why #include directive doesn't have a semi-colon at the end of statement?

c, include

Solution

`#include` (and all other lines beginning with `#` like `#define`) is part of the preprocessor. This is actually a separate programs that runs before the main compiler and does things like include files into the source and macro expansion.

Problem

In C, semicolons (`;`) are used to indicate the end of the statement. Why do `#include` lines not need a semicolon?

Original source

Related problems