swap函数交换两个整数,通过return语句,将交换的形参返回主调函数然后输出
时间: 2024-11-20 11:42:06 浏览: 27
swap函数通常用于编程中,它的目的是在不借助额外变量的情况下交换两个整数的值。这种函数一般会接收两个整数作为输入参数,通过逻辑操作直接改变它们的值,然后返回其中一个原值,表示整个交换过程。这里是一个简单的C语言的例子:
```c
int swap(int a, int b) {
// 通过运算符“=”实现交换
a = a + b;
b = a - b; // 现在a存储了原来b的值
a = a - b; // 此时a就是原来的a值
return a; // 返回修改后的a值(即原来的b值)
}
// 主调函数
int main() {
int num1 = 5, num2 = 10;
printf("Before swap: num1 = %d, num2 = %d\n", num1, num2);
num1 = swap(num1, num2); // 调用swap并获取返回值
printf("After swap: num1 = %d, num2 = %d\n", num1, num2);
return 0;
}
```
在这个例子中,`main`函数首先打印出交换前的数值,然后调用`swap`函数并将结果赋给`num1`,最后再次打印出交换后的数值。
相关问题
采用指针变量作为形参,编写一个实现两个整数交换的函数。在主函数中输入三个整数,调用数据交换函数将他们按从大到小的顺序排序后输出。
以下是交换整数并排序的代码:
```c
#include <stdio.h>
void swap(int *a, int *b);
void sort(int *a, int *b, int *c);
int main() {
int a, b, c;
printf("请输入三个整数:\n");
scanf("%d %d %d", &a, &b, &c);
sort(&a, &b, &c);
printf("从大到小排序后的结果为:%d %d %d\n", a, b, c);
return 0;
}
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void sort(int *a, int *b, int *c) {
if (*a < *b) {
swap(a, b);
}
if (*a < *c) {
swap(a, c);
}
if (*b < *c) {
swap(b, c);
}
}
```
我们首先定义了两个指针变量 `a` 和 `b` 作为形参,然后使用指针操作符 `*` 来获取指针所指向的值,进行交换。排序函数中,我们使用了多个 if 语句来比较三个数的大小,并且调用了 swap 函数来实现交换。在主函数中,我们输入三个整数并调用 sort 函数来对它们进行排序,最后输出排序后的结果。
C语言:本关任务:采用指针变量作为形参,编写一个实现两个整数交换的函数。在主函数中输入三个整数,调用数据交换函数将他们按从大到小的顺序排序后输出。已给出:#include <stdio.h> void main() { int a,b,c; void swap(int *px,int *py); scanf("%d%d%d",&a,&b,&c); if(a<b) swap(&a,&b); if(a<c) swap(&a,&c); if(b<c) swap(&b,&c); printf("%d %d %d\n",a,b,c); } void swap(int *px,int *py) //定义实现数据交换的函数 { //************Begin*********** //************End*********** }
下面是实现两个整数交换的函数的代码:
```c
#include <stdio.h>
void swap(int *px, int *py); // 函数声明
int main()
{
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
if (a < b)
swap(&a, &b);
if (a < c)
swap(&a, &c);
if (b < c)
swap(&b, &c);
printf("%d %d %d\n", a, b, c);
return 0;
}
void swap(int *px, int *py)
{
int temp;
temp = *px;
*px = *py;
*py = temp;
}
```
在这个程序中,我们定义了一个 swap 函数,该函数接受两个指向整数的指针作为参数。在函数内部,我们首先用一个临时变量 temp 存储指针 px 指向的整数的值,然后将指针 px 指向的整数的值改为指针 py 指向的整数的值,最后将指针 py 指向的整数的值改为 temp。这样就完成了两个整数的交换。
在主函数中,我们使用 scanf 函数从用户输入中读取三个整数,并将它们存储在变量 a、b 和 c 中。然后我们使用 if 语句将这三个整数按从大到小的顺序排序。在排序过程中,我们调用 swap 函数来交换两个整数的值。最后,我们使用 printf 函数按照指定的格式输出排序后的三个整数。
阅读全文