请写出一个宏定义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等