sir macros receive values in compile time,so in run time we cannot change,is it right.