每天一道C语言精选编程题之交换两个整数

题目描述

写⼀个函数Swap,可以交换两个整数的内容。注意必须实现成函数完成。
输⼊2个整数,调⽤⾃定义函数Swap,完成2个整数的交换。

解法思路

明确函数的作⽤,即交换两个整数的值。可以使⽤指针来实现,具体步骤如下:

  1. 定义⼀个函数 Swap ,参数是两个整型指针,表⽰需要交换值的两个整数变量的地址。
  2. 在函数中,使⽤⼀个临时变量来存储第⼀个整数变量的值。
  3. 将第二个整数变量的值赋给第⼀个整数变量。
  4. 将临时变量的值赋给第二个整数变量。
  5. 在调⽤函数时,将需要交换值的两个整数变量的地址作为参数传递给函数,可以使⽤ & 运算符 来获取变量的地址。
解法代码
cpp 复制代码
#include <stdio.h>
//传⼊两个整型指针参数,进⾏交换
void Swap(int* pa, int* pb)
{
	int tmp = *pa;
	*pa = *pb;
	*pb = tmp;
}
int main()
{
	int a = 0;
	int b = 0;
	//输⼊
	scanf("%d %d", &a, &b);
	//将需要交换值的两个整数变量的地址作为参数传递给函数,进⾏交换
	Swap(&a, &b);
	//输出
	printf("%d %d\n", a, b);
	return 0;
}
运行结果

输入:

12 45

输出:

45 12

相关推荐
Jerry26 分钟前
LeetCode 459. 重复的子字符串
算法
哥不想学算法3 小时前
【C++】字符串字面量拼接
开发语言·c++
海石3 小时前
1500分的题目,确实有实力,不过还是我略胜一筹
算法·leetcode
海石3 小时前
【记忆化搜索】条条大路通AC,走好适合你的那一条,走到后再考虑走得快
算法·leetcode
gugucoding5 小时前
21. 【C语言】打包不同类型:结构体
c语言·开发语言
Brookty5 小时前
【JavaEE】线程安全(一).4:写块串行保安全、CAS
java·开发语言·java-ee·多线程·线程安全
Jerry5 小时前
LeetCode 151. 反转字符串中的单词
算法
F20226974865 小时前
西门子 PLC 与 C# 通信
开发语言·c#
gugucoding6 小时前
31. 【C语言】堆栈与队列的实现
c语言·开发语言·数据结构·链表