C 语言实例 - 使用引用循环替换数值

a、b、c 三个变量,通过引用按顺序循环替换他们的值。

c 复制代码
#include<stdio.h>
 
void cyclicSwap(int *a,int *b,int *c);
 
int main()
{
    int a, b, c;
 
    printf("输入 a, b 和 c 的值: ");
    scanf("%d %d %d",&a,&b,&c);
 
    printf("交换前:\n");
    printf("a = %d \nb = %d \nc = %d\n",a,b,c);
 
    cyclicSwap(&a, &b, &c);
 
    printf("交换后:\n");
    printf("a = %d \nb = %d \nc = %d",a, b, c);
 
    return 0;
}
void cyclicSwap(int *a,int *b,int *c)
{
 
    int temp;
 
    // 交换
    temp = *b;
    *b = *a;
    *a = *c;
    *c = temp;
}

输出结果为:

c 复制代码
输入 a, b 和 c 的值: 1 2 3
交换前:
a = 1 
b = 2 
c = 3
交换后:
a = 3 
b = 1 
c = 2
相关推荐
Promise4853 小时前
贝尔曼公式的迭代求解笔记
笔记·算法
福尔摩斯张4 小时前
Linux进程间通信(IPC)机制深度解析与实践指南
linux·运维·服务器·数据结构·c++·算法
你好~每一天4 小时前
未来3年,最值得拿下的5个AI证书!
数据结构·人工智能·算法·sqlite·hbase·散列表·模拟退火算法
杰克尼4 小时前
3. 分巧克力
java·数据结构·算法
zore_c4 小时前
【C语言】带你层层深入指针——指针详解2
c语言·开发语言·c++·经验分享·笔记
zmzb01035 小时前
C++课后习题训练记录Day39
数据结构·c++·算法
Ayanami_Reii5 小时前
进阶数学算法-取石子游戏(ZJOI2009)
数学·算法·游戏·动态规划·区间dp·博弈论
一只小小汤圆5 小时前
已知圆弧的起点、终点、凸度 求圆弧的圆心
算法
丸码6 小时前
Java HashMap深度解析
算法·哈希算法·散列表
算法与编程之美6 小时前
Java数组动态扩容
java·开发语言·python·算法