printf is a macro? HOW does printf being a macro work ESPECIALLY since we can no longer put preprocessor constants in printf statements!