参数宏

Roverboy226 2005-07-14 09:07:16
//打印参数宏
#define PRINT_PARAM(i) ht[(i)].num,ht[(i)].c,ht[(i)].weight,\
ht[(i)].parent,ht[(i)].lchild,ht[(i)].rchild
//读取参数宏
#define READ_PARAM(i) &ht[(i)].num,&ht[(i)].c,&ht[(i)].weight,\
&ht[(i)].parent,&ht[(i)].lchild,&ht[(i)].rchild

这些是什么意思啊?不懂!!
...全文
135 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
我啃 2005-07-15
  • 打赏
  • 举报
回复
宏吗,讲得简单点就是用替换功能将宏名替换成代码理解是方便的,做起来要小心哦例如:
#define ADD(n) n+1
看似是传入值n+1的操作,但如果:
5*ADD(6)就不对了变成:
5*6+1
简单的例子深刻的道理,自己去想吧!
应该改成:
#define ADD(n) (n+1)

Willpro 2005-07-14
  • 打赏
  • 举报
回复
www.mark.com
OpenHero 2005-07-14
  • 打赏
  • 举报
回复
我没有具体看楼主的问题
只是对于宏
原封不动的替换到程序的相应位置,就可以明白什么意思了
darkstar21cn 2005-07-14
  • 打赏
  • 举报
回复
没什么意思,就是一个替代而已。
llf_hust 2005-07-14
  • 打赏
  • 举报
回复
可以这样用,编译调试通过
llf_hust 2005-07-14
  • 打赏
  • 举报
回复
#include<stdio.h>
#define PRINT_PARAM(i) ht[(i)].num,ht[(i)].c,ht[(i)].weight,\
ht[(i)].parent,ht[(i)].lchild,ht[(i)].rchild
//读取参数宏
#define READ_PARAM(i) &ht[(i)].num,&ht[(i)].c,&ht[(i)].weight,\
&ht[(i)].parent,&ht[(i)].lchild,&ht[(i)].rchild
struct a{
int num,c,weight,parent,lchild,rchild;

};
int main()
{
int i;
struct a ht[10];
for(i=0;i<5;i++)
scanf("%d%d%d%d%d%d",READ_PARAM(i));

for(i=0;i<5;i++)
printf("%d%d%d%d%d%d",PRINT_PARAM(i));
return 0;
}
zhousqy 2005-07-14
  • 打赏
  • 举报
回复
没什么意思
whatsouta 2005-07-14
  • 打赏
  • 举报
回复
星星

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧