你好
#define A 1+5
int a = A/A;
NSLog(@"value a %d",a);
显示结果为11
请您能解释一下它的工作原理吗? 我想了解编译器为显示此结果所做的步骤。 预先谢谢你。
答案 0 :(得分:5)
int a = A/A
扩展为int a = 1+5/1+5
,即1 + 5 + 5
,即11
也许您想成为#define A (1+5)
宏不是功能。他们不计算值并将其插入代码中。宏将在编写时简单地扩展。
顺便说一下,这不是扩展宏的编译器,而是预处理器