返回信息流#define SQUARE(n)
main()
{ int i=1;
while(i<=10)
printf("%d\n",SQUARE(i++));
}
谁能解释一下 上面宏定义到底定义了什么 最好是详细一点 说说内存里的情况
这是一条镜像帖。来源:北邮人论坛 / cpp / #38786同步于 2010/5/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
啥叫宏定义
wadeandme
2010/5/1镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
跟内存有啥关系啊
宏定义就是按照字面替换
【 在 wadeandme (ii) 的大作中提到: 】
: #define SQUARE(n)
: main()
: { int i=1;
: ...................
你的宏定义有问题,应该是这样的
#include <iostream>
using namespace std;
#define SQUARE(n) (n)*(n)
main()
{ int i=1;
while(i<=10)
printf("%d\n",SQUARE(i++));
}
程序编译时
SQUARE(i++) 会被替换成 (i++)*(i++)