i want to know the rule behind the macro substitution

ex:


#include<stdio.h>
#define p P

int main()
{