| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 557 人关注过本帖
标题:[求助]百思无解!
只看楼主 加入收藏
xiehongyou
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2004-8-29
收藏
 问题点数:0 回复次数:3 
[求助]百思无解!

#define N 2 #define M N+1 #define NUM (M+1)*M

main() { int i; for(i=1;i<=NUM;i++) printf("%d\n",i); getch(); } 在以上题中的M应是3。为(M+1)*M不是12而是9???????请帮助!

2005-03-14 20:00
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
收藏
得分:0 
还是宏定义的问题
按你这样定义  NUM=(M+1)*M=(N+1+1)*N+1=(2+1+1)*2+1=9
你的M应该这样定义  #define M (N+1)
这样  NUM=(M+1)*M=((N+1)+1)*(N+1)=12
宏定义的时候除非你是故意写成这样 不然最好都用括号括上

动于心而静如水
2005-03-14 20:10
xiehongyou
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2004-8-29
收藏
得分:0 
知道了,很感激你,谢谢!
2005-03-14 20:47
dongfz
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2005-3-8
收藏
得分:0 
考试就喜欢出这种题目!

是金子就一定会发亮吗?高手也需要低调!!!!
2005-03-14 22:53
快速回复:[求助]百思无解!
数据加载中...
 
   



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

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