使用指针编写交换两个数 描述 输入a和b两个整数,将a、b的值交换后输出。要求:在main函数中输入和输出a和b值,使用函数实现交换a和b的值。 输入 两个整数。 输出 交换后的两个数(两数间用一个空格分隔)。 输入样例 1 3 5
时间: 2024-05-14 21:17:23 浏览: 24
下面是一个使用指针实现交换的示例代码:
```c++
#include <iostream>
using namespace std;
void swap(int *pa, int *pb) {
int temp = *pa;
*pa = *pb;
*pb = temp;
}
int main() {
int a, b;
cin >> a >> b;
swap(&a, &b);
cout << a << " " << b << endl;
return 0;
}
```
首先定义了一个 `swap` 函数,该函数接受两个指向整数的指针作为参数,使用一个临时变量来交换两个指针所指向的值。
在 `main` 函数中,先输入两个整数 `a` 和 `b`,然后调用 `swap` 函数来交换它们的值,最后输出交换后的结果。
需要注意的是,当调用 `swap` 函数时,需要将 `a` 和 `b` 的地址传递给函数,而不是直接传递它们的值。这样函数才能通过指针来修改 `a` 和 `b` 的值,从而实现交换。
相关问题
用C语言编写:输入a和b两个整数,使用指针变量实现a和b的交换
可以使用指针变量实现a和b的交换,具体代码如下:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int a, b;
printf("请输入两个整数a和b:\n");
scanf("%d%d", &a, &b);
printf("交换前a=%d,b=%d\n", a, b);
swap(&a, &b);
printf("交换后a=%d,b=%d\n", a, b);
return 0;
}
```
首先定义一个函数 `swap` ,它接受两个指针变量 `a` 和 `b` ,并将它们所指的值进行交换。在 `main` 函数中,先输入两个整数 `a` 和 `b`,然后调用 `swap` 函数,将它们进行交换。最后输出交换后的结果。注意,在调用 `swap` 函数时,需要传入变量地址,即 `&a` 和 `&b`。
编写程序,输入a和b两个整数,按照先大后小的顺序输出a和b,利用指针实现
好的,以下是利用指针实现先大后小输出的代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
int main() {
int a, b;
printf("请输入两个整数 a 和 b:");
scanf("%d %d", &a, &b);
if (a < b) {
swap(&a, &b);
}
printf("先大后小的顺序输出:%d %d\n", a, b);
return 0;
}
```
在这段代码中,我们定义了一个 `swap` 函数,用来交换两个整数的值。接着,在 `main` 函数中,我们输入了两个整数 `a` 和 `b`,并判断它们的大小关系,如果 `a` 比 `b` 小,就调用 `swap` 函数交换它们的值,最后按照先大后小的顺序输出这两个整数。