956222493 发表于 2015-4-21 21:46:45

宏定义。。。的计算

#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;
}
这个是怎么计算的?
看不懂。。。

myqicq 发表于 2015-4-22 00:55:39

哇,长见识了

laishiba 发表于 2015-4-27 20:45:20

看看

罐头 发表于 2015-4-29 15:16:55

帮顶

likeangel 发表于 2015-4-30 02:14:51

8885 发表于 2015-5-4 22:01:35


帮顶

vanentu 发表于 2015-5-26 01:23:00

帮顶

vank 发表于 2015-5-27 05:24:57

就是来顶 支持

vanentu 发表于 2015-5-27 14:48:56

就是来顶 支持

2413780002 发表于 2015-5-27 17:45:53

就是来顶 支持

不二如是 发表于 2017-10-20 18:01:29

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]
查看完整版本: 宏定义。。。的计算