How Does A Preprocessor Work In C?