C++使用指针变量作形参,先输入两个变量,再实现两个输入变量的值互换
时间: 2023-02-26 11:24:22 浏览: 96
以下是一个 C 程序来实现两个输入变量值的互换:
```
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int num1, num2;
printf("请输入第一个数字:");
scanf("%d", &num1);
printf("请输入第二个数字:");
scanf("%d", &num2);
printf("交换前两个数字为:%d 和 %d\n", num1, num2);
swap(&num1, &num2);
printf("交换后两个数字为:%d 和 %d\n", num1, num2);
return 0;
}
```
在这段代码中,首先我们输入了两个数字,然后调用了 `swap` 函数来交换它们的值。由于我们要在函数中修改输入变量的值,因此将指向它们的指针作为形参传递给函数。在函数内部,我们使用一个临时变量来存储第一个变量的值,然后将第一个变量的值设为第二个变量的值,最后将第二个变量的值设为存储在临时变量中的值。
相关问题
C++使用指针变量作形参,实现两个输入变量的值互换
### 回答1:
下面是实现两个输入变量值互换的 C 语言代码:
```
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 10, y = 20;
printf("交换前:x = %d, y = %d\n", x, y);
swap(&x, &y);
printf("交换后:x = %d, y = %d\n", x, y);
return 0;
}
```
在这个代码中,函数 `swap` 接收两个指针变量作为形参,并通过指针变量来交换两个变量的值。在 `main` 函数中,我们定义了两个变量 `x` 和 `y`,并通过函数 `swap` 来交换它们的值。
### 回答2:
要实现两个输入变量的值互换,可以通过使用指针变量作为形参来实现。下面是一种可能的实现方式:
```c
#include <stdio.h>
void swap(int* a, int* b) {
int temp = *a; // 将a指针指向的值保存到临时变量temp中
*a = *b; // 将b指针指向的值赋给a指针指向的位置
*b = temp; // 将temp的值赋给b指针指向的位置
}
int main() {
int num1, num2;
printf("请输入两个整数:\n");
scanf("%d %d", &num1, &num2);
printf("交换前:num1 = %d, num2 = %d\n", num1, num2);
// 将num1和num2的地址传递给swap函数
swap(&num1, &num2);
printf("交换后:num1 = %d, num2 = %d\n", num1, num2);
return 0;
}
```
在上述代码中,我们定义了一个swap函数,该函数的形参是两个指针变量a和b。在函数内部,我们使用临时变量temp来保存a指针指向的值,然后将b指针指向的值赋给a指针指向的位置,最后将temp的值赋给b指针指向的位置。这样就完成了两个变量值的交换。在主函数中,我们首先从用户输入获取两个整数,并且调用swap函数来实现变量值的交换,并输出交换后的结果。
### 回答3:
要实现两个输入变量的值互换,可以使用指针变量作为形参。指针变量可以存储变量的内存地址,可以通过这个地址来访问和修改变量的值。
具体实现的步骤如下:
1. 定义一个函数,函数的参数为两个整型指针变量,分别表示要交换值的变量。
2. 在函数内部,定义一个临时变量,用来暂存其中一个变量的值。
3. 将第一个变量的值赋给临时变量。
4. 将第二个变量的值赋给第一个变量。
5. 将临时变量的值赋给第二个变量。
6. 函数执行完毕后,两个变量的值就完成了互换。
具体代码如下:
```
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int num1, num2;
printf("请输入两个整数:");
scanf("%d%d", &num1, &num2);
printf("交换之前的值:num1 = %d, num2 = %d\n", num1, num2);
swap(&num1, &num2); // 调用swap函数进行值交换
printf("交换之后的值:num1 = %d, num2 = %d\n", num1, num2);
return 0;
}
```
以上代码中,使用指针变量作为形参传递给swap函数,在函数内部通过指针访问和修改变量的值。执行完swap函数后,变量num1和num2的值就完成了互换。最后,在主函数中打印输出交换前后的值。
阅读全文