下面这段代码是什么意思?

ruixj 2005-08-23 10:56:35
static char prec[] = {
#define xx(a,b,c,d,e,f,g) c,
#define yy(a,b,c,d,e,f,g) c,

};
...全文
340 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ningzhiyu 2005-08-25
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3842/3842879.xml?temp=.9583094
这里有比较详细的讨论,和楼主一样的

static char prec[] = {
#define xx(a,b,c,d,e,f,g) c,
#define yy(a,b,c,d,e,f,g) c,
#include "token.h"
};

好像楼主还写少了关键的一行
#include "token.h"
主要内容在token.h中,前面的#define语句都是为了提取token.h中的宏内容的
  • 打赏
  • 举报
回复
学习
afx_swallow 2005-08-24
  • 打赏
  • 举报
回复
学习中
soft_2008 2005-08-24
  • 打赏
  • 举报
回复
static char prec[] 中的static 是一个特殊的用法,每次使用完prec[]就保留上一次最后退出涵数的值
c=xx() c=yy() 把两个涵数的值轮流赋给常量c xx() yy()成了临时变量的容器

不知此解正确否,请高手斧正
improgrammer 2005-08-23
  • 打赏
  • 举报
回复
只能说,和下面这段代码是一个意思:
#define xx(a,b,c,d,e,f,g) c,
#define yy(a,b,c,d,e,f,g) c,

static char prec[] = {};
fishstudio 2005-08-23
  • 打赏
  • 举报
回复
在vc里面尝试,不过。总是有符号缺失,不知道怎么修改!
megaboy 2005-08-23
  • 打赏
  • 举报
回复
数组prec最后里面不会有xx和yy,因为这两条是类函数宏的定义,不是类函数宏的应用,预处理后就没有了。

把预处理语句放到这里,我认为是非常不良的风格。
fishstudio 2005-08-23
  • 打赏
  • 举报
回复
数组里面有2个叫C的东西,代表xx,yy。所以数组最后里面有2个集合,xx,yy

我是这么想的。
bugebear3 2005-08-23
  • 打赏
  • 举报
回复
为什么要把预处理语句放到数组中呢?
megaboy 2005-08-23
  • 打赏
  • 举报
回复
中间两句预处理指令虽然放在一个数组的初始化里面,但预处理之后这两句就不存在了,放在这里面没有问题的。但数组prec因为初始化的时候没有内容,编译的时候会出错的。
ttfy1234 2005-08-23
  • 打赏
  • 举报
回复
就这么2句?

69,382

社区成员

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

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