hur.cn - 华软网

 热门搜索

菜鸟问题

  作者:未知    来源:网络    更新时间:2011/1/14
#define f(x) x*x
  main( )
  {
  int a=6,b=2,c;
  c=f(a) / f(b);
  printf("%d \\n",c);
  }

这个结果是36,
代码尝试也确实是36


然则我的理解

c=6*6/2*2
c=9

我很不解,难道对difine的理解错了?

请高手解答

---华软 网友回答---
看一下执前进程
6*6=36
36/2=18
18*2=36
你另有什么问题
---华软网友回复---
c=6*6/2*2
c=9
===兄弟,你的数学是否是没有及格过啊?这是小学数学题???知道乘法和除法的优先级吗???
---华软网友回复---
你对DEFINE的理解错了.
---华软网友回复---
#define f(x) (x)*(x)
---华软网友回复---
c=6*6/2*2 这个没有问题啊。
可是为什么会等于9呢?

6*6=36;
36/2=18;
18*2=36;

修改
#define f(x) ((x)*(x))


---华软网友回复---
  class="deleted_message"> 该回复于2011-01-14 14:21:35被版主删除        
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。