| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 739 人关注过本帖
标题:#define程序结果输出?(已解决)
只看楼主 加入收藏
yqiong
Rank: 1
等 级:新手上路
帖 子:315
专家分:0
注 册:2007-7-4
结帖率:83.33%
收藏
 问题点数:0 回复次数:7 
#define程序结果输出?(已解决)
#define pr(a) printf("%d\t",(int)(a))
#define print(a) pr(a);printf("ok!)
main()
{
int i,a=1;
for(i=0;i<3;i++)
print(a+i);
}
输出:1 2 3 ok!
不明白,为什么只输出一个OK!?

[此贴子已经被作者于2007-11-1 20:27:16编辑过]

搜索更多相关主题的帖子: define 输出 结果 int 
2007-10-29 12:18
neufcl
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2007-10-23
收藏
得分:0 
以下是引用yqiong在2007-10-29 12:18:26的发言:
#define pr(a) printf("%d\t",(int)(a))
#define print(a) pr(a);printf("ok!)
main()
{
int i,a=1;
for(i=0;i<3;i++)
print(a+i);
}
输出:1 2 3 ok!
不明白,为什么只输出一个OK!?

上述程序相当于:
void main()
{
int i,a=1;
for(i=0;i<3;i++)
printf("%d\t",(int)(a+i));
printf("ok!);
}
为什么只输出一个ok这回明白了吧!
注意:define的作用只是纯粹的字符串替换。


学好C++
2007-10-29 12:27
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 

printf("ok!)少了一分号````应该是printf("ok!")``


pr(a)------------>printf("%d\t",(int)(a))

print(a)--------->printf("%d\t",(int)(a));printf("ok!)

所以
for(i=0;i<3;i++)
print(a+i);就是

for(i=0;i<3;i++)
printf("%d\t",(int)(a));printf("ok!);

看不动的时候```可以一步步慢慢替换``





女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-10-29 12:55
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
#define
就看作简单的字符串替换.

倚天照海花无数,流水高山心自知。
2007-10-29 13:04
yqiong
Rank: 1
等 级:新手上路
帖 子:315
专家分:0
注 册:2007-7-4
收藏
得分:0 

明白了,字符替换是在编译是进行的!

2007-10-30 22:21
hczsea
Rank: 2
等 级:论坛游民
帖 子:129
专家分:68
注 册:2007-10-23
收藏
得分:0 
学习
2007-10-31 10:06
s119446775
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-4-25
收藏
得分:0 
#define pr(a) printf("%d\t",(int)(a))
#define print(a) pr(a);printf("ok!")
main()
{
int i,a=1;
for(i=0;i<3;i++)
{
print(a+i);
}
}


这样就好了
2007-11-01 11:02
风之舞鹤
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2007-6-2
收藏
得分:0 


2007-11-01 11:55
快速回复:#define程序结果输出?(已解决)
数据加载中...
 
   



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

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