c语言宏定义一个问题

为什么z和c的值是5和7。具体运算过程是什么的
2025-02-27 14:51:57
推荐回答(2个)
回答1:

宏定义——原模原样展开(替换)
# define X 5(编译器见到X就换成5再继续编译)
# define Y X+1(编译器见到Y就换成X+1,也就是5+1,再继续)
Z,C同理
那么Z=(5+1*5)/2 = 5
C = 5+1*5/2 = 7(整型)

回答2:

预定义只作简单的替换,即z=(x+1*x)/2=5,c以此类推。