宏定义末尾为什么不能加分号
比如
#define NUM 3;
注意末尾有一个分号
printf("%d",NUM);
宏替换的时候会变成这样
printf("%d",NUM;);
会多出一个分号,这样会提示语法错误。有点类似sql注入
那怎么改呢?
可以改成#define NUM 5);
printf("%d",NUM
这样编译的时候会把NUM替换为5); 最后形成的语句是printf("%d",5);
突然发现可以利用宏定义来降低代码的可读性啊,能不能用在混淆php代码上面呢?