| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 801 人关注过本帖
标题:看看这个结果是多少
只看楼主 加入收藏
michaelwang
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-7-9
收藏
 问题点数:0 回复次数:14 
看看这个结果是多少
#define M 5
#define N M*3+4
#define MN N*M
#include <stdio.h>
main()
{ printf("%d,%d\n",MN,MN/2);
}
搜索更多相关主题的帖子: 结果 
2006-08-17 09:04
ridwsc
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2006-8-10
收藏
得分:0 
35 25

中国加油,加油,加油~~~~~ 我行~~我可以~~C
2006-08-17 09:11
michaelwang
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-7-9
收藏
得分:0 

为什么是35呀,不是 95 和 25 呀

2006-08-17 09:17
ridwsc
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2006-8-10
收藏
得分:0 
MN=N*M=M*3+4*M=5*3+4*5=35

中国加油,加油,加油~~~~~ 我行~~我可以~~C
2006-08-17 09:18
michaelwang
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-7-9
收藏
得分:0 
不是这样呀 MN=N*M=(M*3+4)*M=95 , N=M*3+4 为什么会这样
2006-08-17 09:40
ridwsc
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2006-8-10
收藏
得分:0 
你又没有加括号,如果#define N (M*3+4) 结果就是95了,
不过,MN/2的结果也改变了,不是你所说的25了,

中国加油,加油,加油~~~~~ 我行~~我可以~~C
2006-08-17 09:45
jhszy6
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-8-17
收藏
得分:0 
35 25 是对的,宏定义只是字符的替代,不带有括号
2006-08-17 10:45
ridwsc
Rank: 1
等 级:新手上路
帖 子:168
专家分:0
注 册:2006-8-10
收藏
得分:0 
楼上说的对,如果想有优先级的运算,
那在宏定义的时候,就要定义好了,不然编出来的程序会和你的思路不一致的.

中国加油,加油,加油~~~~~ 我行~~我可以~~C
2006-08-17 10:48
zzlkkk
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-8-16
收藏
得分:0 
MN=N*M=M*3+4*M=5*3+4*5=35
MN/2=N*M/2=M*3+4*M/2=5*3+4*5/2=25

好好学网,天天上网。
2006-08-17 14:51
wxhwjsw
Rank: 1
等 级:新手上路
帖 子:274
专家分:0
注 册:2006-6-15
收藏
得分:0 

学习了


一个人的快乐,不是因为他拥有的多,而是因为他计较的少.
2006-08-18 12:55
快速回复:看看这个结果是多少
数据加载中...
 
   



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

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