我们一起来看一段代码:
#include <stdio.h>
#define X 3
#define Y X*5
#undef X
#define X 2
int main()
{
int z =Y;
printf("%d",z);
}
这段代码的输出是多少呢?15?10?
答案是为什么呢?
解析:
- 宏的生命周期从#define 开始到#undef 结束。
- 所以
#define X 3
在#undef X
时候生命周期已经结束,故答案是10.
#include <stdio.h>
#define X 3
#define Y X*5
#undef X
#define X 2
int main()
{
int z =Y;
printf("%d",z);
}
这段代码的输出是多少呢?15?10?
答案是为什么呢?
#define X 3
在#undef X
时候生命周期已经结束,故答案是10.