打印

请教个编程的基础问题

[复制链接]
1476|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
book99|  楼主 | 2011-3-17 16:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当某个变量(如CC)为0x88 和0x8a时,会有相同的反应,做如下的宏定义对吗 用switch处理时,报错 说重复的case value,这两种情况要分别定义吗
#define ABB (0x88||0x8a)

switch(CC)
{
case ABB:

}

相关帖子

沙发
ayb_ice| | 2011-3-17 19:02 | 只看该作者
你要先搞清楚#define ABB (0x88||0x8a)是什么意思
肯定不是你想象的意思,只是用口读起来一样

使用特权

评论回复
板凳
johnwjl| | 2011-3-17 19:47 | 只看该作者
LZ的写法相当于这样了:
switch(CC)
{
case 1:
}
这样可以达到你的目的:
#define A  0x88
#define B  0x8a
switch(CC)
{
case A:
case B:
   // do something
    break;
}

使用特权

评论回复
地板
王利110| | 2011-3-17 22:50 | 只看该作者
case 后是个常量!!ABB(0x88||0x8a)..............

使用特权

评论回复
5
谈的元| | 2011-3-17 23:29 | 只看该作者
case ABB:
就是case  (0x88||0x8a):

这样当然不正确。

4楼是楼主要的

使用特权

评论回复
6
joyme| | 2011-3-18 11:33 | 只看该作者
2楼正解

不是因为这句话错了,而是有其他的case 1语句跟这句话重了吧,LZ的程序没有贴完

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

185

帖子

4

粉丝