#include<iostream>
using namespace std;
#define A(x) x;x;x;x;x;x;x;x;x;x;
int main()
{
int n=0;
A(A(A(printf("%d\n",n++))));
getchar();
return 0;
}
本文通过一个C++程序示例介绍了宏定义在代码中的展开方式及其带来的递归调用效果。通过观察宏A的具体定义和使用过程,读者可以了解到预处理器如何处理宏以及宏在实际编程中可能产生的意外行为。
#include<iostream>
using namespace std;
#define A(x) x;x;x;x;x;x;x;x;x;x;
int main()
{
int n=0;
A(A(A(printf("%d\n",n++))));
getchar();
return 0;
}

被折叠的 条评论
为什么被折叠?