我是靠谱客的博主 飘逸大叔,最近开发中收集的这篇文章主要介绍C语言 用宏函数实现 swap() 交换函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

函数功能:

  • 交换任意两个同类型的数

函数一:

#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() 交换函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(79)

评论列表共有 0 条评论

立即
投稿
返回
顶部