首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请写出一个宏定义SWAP(t,x,y),用于交换t类型的两个参数

2012-10-28 
请写出一个宏定义SWAP(t,x,y),用以交换t类型的两个参数。问题很白痴,谢谢了答案说是SWAP(t,x,y)(t temptem

请写出一个宏定义SWAP(t,x,y),用以交换t类型的两个参数。
问题很白痴,谢谢了
答案说是SWAP(t,x,y) (t temp;temp=x;x=y;y=temp;)
这是什么意思,t不是一个参数吗,怎么又变成类型了?
能详细的讲解吗,谢谢了。

[解决办法]
这个SWAP是一个通用型的

反正宏就是一种展开拉

展开后,不就是

比如SWAP(int,a,b)

int temp;
temp = a;
a = b;
b = temp;

[解决办法]
因为宏名无类型,其参数也无类型。这是与函数不同的一个地方。
[解决办法]
t可以用作不同类型。。。如int,double等

探讨
可题目上说的是t,不是int呀,,t是不是int的缩写,谢谢了

[解决办法]
探讨
C/C++ code

#incldue <stdio.h>
#define SWAP(t,x,y) (t temp;temp=x;x=y;y=temp;)

int main()
{
int a=1;
int b=2;
printf("a=%d,b=%d\n",a,b);
SWAP(int,a,b)
printf("a=%d,b=%d……

热点排行