当前位置: 代码迷 >> C语言 >> #define CIR(r) r*r 的含义???
  详细解决方案

#define CIR(r) r*r 的含义???

热度:1245   发布时间:2007-11-29 15:18:58.0
#define CIR(r) r*r 的含义???
提示: 作者被禁止或删除 内容自动屏蔽
2007-11-29 07:18:58
Uc-Sun

等 级:新手上路
帖 子:24
专家分:0
注 册:2007-11-28
  得分:0 
如果:
int a = 3;
a = CIR(a);  /* 会扩展为 a = a * a;
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2007-11-29 07:38:20
永夜的极光

等 级:贵宾
威 望:27
帖 子:2720
专家分:1
注 册:2007-10-9
  得分:0 
原帖由 [bold][underline]夜礼服假面[/underline][/bold] 于 2007-11-29 15:38 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1122550&ptid=189294][/url]


说的好像 不对  
#include
#include
#define CIR(r) r*r
void main()
{
    int a = 1;
    int b = 2;
    int t;
    t = CIR(a + b);
    printf("%d\n", t);
    return;
}

这段程序  你适着用你说的  根 ...


他说的没错,是你自己没理解
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2007-11-29 09:46:48
永夜的极光

等 级:贵宾
威 望:27
帖 子:2720
专家分:1
注 册:2007-10-9
  得分:0 
应该为5的
你仔细想想看
CIR(a)变成 a*a
那么CIR(a+b)变成什么?
----------------解决方案--------------------------------------------------------
define不会"计算"
----------------解决方案--------------------------------------------------------
#include
#include
#define CIR(r) r*r
void main()
{
    int a = 1;
    int b = 2;
    int t;
    t = CIR(a + b);   //请各位详细解释一下这一句,我没有领会到,先谢谢各位拉
    printf("%d\n", t);
    return;
}
----------------解决方案--------------------------------------------------------
a+b*a+b is not (a+b)*(a+b)
......
----------------解决方案--------------------------------------------------------
ls说得很明白了``
----------------解决方案--------------------------------------------------------
  相关解决方案