第十二周项目五输出已交换后的两个值

时间:2021-11-01 02:33:14

题目描述:定义一个带参的宏(或者模板函数),带有三个参数,第一个参数为类型,后两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。

作者:李忠林

完成日期:2016.11.22

#include <stdio.h>
#define SWAP(T,m,n){T s;s=m,m=n,n=s;}
int main()
{
    short int s1,s2;
    double d1,d2;
    long l1,l2;
    scanf("%hd%hd",&s1,&s2);
    SWAP(short int,s1,s2);
    printf("%hd %hd",s1,s2);
    scanf("%lf%lf",&d1,d2);
    SWAP(double,d1,d2);
    printf("%lf %lf",d1,d2);
    scanf("%ld%ld",&l1,&l2);
    SWAP(long,l1,l2);
    printf("%ld %ld",l1,l2);
    return 0;
}

运行结果:

第十二周项目五输出已交换后的两个值