宏定义。。。的计算
#include<stdio.h>#define A(x)x;x;x;x;x;
int main(void)
{
int n=0;
A( A(printf("%d\n",n++)));
return 0;
}
这个是怎么计算的?
看不懂。。。
哇,长见识了 看看 帮顶
帮顶 帮顶 就是来顶 支持 就是来顶 支持 就是来顶 支持 A(x) x;x;x;x;x;
因为x 为参数 执行了五次x;
A(printf("%d\n",n++));
把x替换成了printf("%d\n",n++)这里因为没有分号结尾 所以 上面宏定义的时候x有一个;
五个x;也就是打印5次n++
然后外面还有一个 也就是 5次 5次n++ 就是25次
页:
[1]