急求简单C++编程题

来源:百度知道 编辑:UC知道 时间:2024/06/23 09:18:51
编写一个程序,实现以下功能:
(1)定义一个带参数的宏,将两个参数的值互换。
(2)利用定义宏将主函数中的两个变量的值互换并输出。

在C语言中,定义两个参数的宏完成参数交换,那么
1、如果参数为指定为整型量,如int、long、short、char,可以这样定义:
#define swap(a,b) {(a)=(a)^(b);(b)=(a)^(b);(a)=(a)^(b);}
这个方法,可以不用借用第三个参数。
2、如果参数不是整型量,如float、double等,那么可以借助外部第三个参数,这样定义:
#define swap(a,b) {(t)=(a);(a)=(b);(b)=(t);}
在实际使用中,t的类型需要与a,b相同,如:
float a,b,t;
a=1.2;
b=2.3;
swap(a,b)