| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 509 人关注过本帖
标题:弱弱的问一下
只看楼主 加入收藏
维ddrsun
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2010-10-5
结帖率:81.25%
收藏
已结贴  问题点数:2 回复次数:4 
弱弱的问一下
#include <stdio.h>


 #define Max(x) x*(x-1)
    main()
    {int a=1,b=2;printf("%d\n",Max(1+a+b));}

这个输出不是12吗?运行后怎么是8?
搜索更多相关主题的帖子: include 
2011-01-18 00:38
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:2 
试一下#define Max(x) (x)*(x-1)与#define Max(x) x*(x-1)有什么不同就知道


小代码,大智慧
2011-01-18 00:42
维ddrsun
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2010-10-5
收藏
得分:0 
回复 2楼 点线面
x-1=3,(x)=4,那不带括号的x等于多少?
还是不懂....

never give up!!
2011-01-18 00:49
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
#define Max(x) (x)*(x-1)   Max(1+a+b)
代入式子就表示为 (1+a+b)*(1+a+b-1)
而Max(x) x*(x-1)
代入式子表示     1+a+b*(1+a+b-1)
看见吗两者发生很大差别,加括号与不加括号产生很大区别

小代码,大智慧
2011-01-18 00:55
维ddrsun
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2010-10-5
收藏
得分:0 
回复 4楼 点线面
哦,优先级,谢谢啊~~~

never give up!!
2011-01-18 00:57
快速回复:弱弱的问一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021685 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved