标题:[求助]百思无解!
只看楼主
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-13314-1-1.html




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

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