Chinaunix首页 | 论坛 | 博客
  • 博客访问: 196589
  • 博文数量: 67
  • 博客积分: 2720
  • 博客等级: 少校
  • 技术积分: 625
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-05 13:53
文章分类
文章存档

2011年(1)

2010年(43)

2009年(23)

我的朋友

分类: C/C++

2010-09-18 21:20:20

#include <stdio.h>

#define CALL(x,y) x##y

int main()
{
        int xy = 20, x = 5, y = 10;
        printf("%d\n",CALL(x,y));

}


输出会是几呢?我们知道#define CALL(x,y) x##y的功能是连接x与y,故CALL(x,y)得到xy,而xy初始化为20,故输出20.
这里的关键是
CALL(x,y)是对x,y进行操作,而不是对x,y的值进行操作
阅读(765) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-09-21 07:42:08

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com