#define replaces the text or numeric value in the code before the compilation.but #include insert the header file into the code before the compilation.hence we can say that preprocessor transforms the code before it go for build/compile.like for example it for printf or scanf it includes the stdio.h file.