搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 求解惑,宏可以这样写吗?
标题:
求解惑,宏可以这样写吗?
只看楼主
yaobao
等 级:
蒙面侠
威 望:
4
帖 子:1854
专家分:4121
注 册:2012-10-25
结帖率:
100%
楼主
已结贴
√
问题点数:20 回复次数:7
求解惑,宏可以这样写吗?
看到练习题上说宏可以写成这样:
#define exchange(a,b) { \
int t;\
t=a;\
a=b;\
b=t;\
}
但是我是了很多次都没成功,是练习题上说错了还是我的编译器太老,求解惑。
搜索更多相关主题的帖子:
exchange
练习题
编译器
2012-11-20 09:38
jk_love
等 级:
蝙蝠侠
威 望:
1
帖 子:196
专家分:965
注 册:2012-10-22
第
2
楼
得分:10
可以这样,交换两个参数的值,没有问题
2012-11-20 09:41
yaobao
等 级:
蒙面侠
威 望:
4
帖 子:1854
专家分:4121
注 册:2012-10-25
第
3
楼
得分:0
我说的是这样用大括号括起来的形式,
认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-20 09:54
zklhp
来 自:china
等 级:
贵宾
威 望:
254
帖 子:11485
专家分:33241
注 册:2007-7-10
第
4
楼
得分:10
有些老编译器 变量定义必须在开头 所以你这里定义变量可能会有错 至于哪些算老编译器你试试罢 TC好像是不能这样
2012-11-20 10:10
yaobao
等 级:
蒙面侠
威 望:
4
帖 子:1854
专家分:4121
注 册:2012-10-25
第
5
楼
得分:0
版主威武,我用的就是wintc。
这样定义宏是可以的,是我的编译器不支持对吗??
认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-20 10:16
zklhp
来 自:china
等 级:
贵宾
威 望:
254
帖 子:11485
专家分:33241
注 册:2007-7-10
第
6
楼
得分:0
以下是引用
yaobao
在2012-11-20 10:16:54的发言:
版主威武,我用的就是wintc。
这样定义宏是可以的,是我的编译器不支持对吗??
关键是int t;不支持
2012-11-20 10:18
yaobao
等 级:
蒙面侠
威 望:
4
帖 子:1854
专家分:4121
注 册:2012-10-25
第
7
楼
得分:0
哦 这样宏展开之后相当于在展开位置定义了一个 int t
老编译器只能在开头定义变量
认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-20 10:53
jk_love
等 级:
蝙蝠侠
威 望:
1
帖 子:196
专家分:965
注 册:2012-10-22
第
8
楼
得分:0
用的gcc 表示无压力
2012-11-20 10:59
8
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-387633-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.411846 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved