概述
函数功能:
- 交换任意两个同类型的数
函数一:
#include <stdio.h>
/*
*
运行环境:MinGW 和 MSVC 都可用
* */
/*
*
这里添加 do-while 循环是为了兼容到不加花括号的if语句中,例子如下:
*
if(condition) SWAP(x, y, double); else{ other statements;}
* */
#define SWAP(a, b, type) do {type temp = a; a = b; b = temp;} while(0)
int main(){
double x = 1.0;
double y = 2.0;
//
交换宏函数调用方式如下:
//
SWAP(参数1, 与参数一同类型的参数2, 参数1的类型)
SWAP(x, y, double);
printf("x: %f, y: %f", x, y);
return 0;
}
函数二
//
// Created by huber on 2021/9/22.
//
#include <stdio.h>
/*
*
运行环境:只有在 MinGW 中可用,在 MSVC 中不可用
*
* */
/*
*
typeof() 函数只在 MinGW 中可用,MSVC 不支持此函数
*
加 do-while 循环的原因同函数一 ↑↑↑
* */
#define SWAP(a, b) do { typeof(a) temp = a; a = b; b = temp;} while(0)
int main(){
int x = 1;
int y = 2;
SWAP(x, y);
printf("x: %d, y: %d", x, y);
return 0;
}
最后
以上就是飘逸大叔为你收集整理的C语言 用宏函数实现 swap() 交换函数的全部内容,希望文章能够帮你解决C语言 用宏函数实现 swap() 交换函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复