复制
收藏
提问
简洁
变量a=10,b=20,指针pa指向a,pb指向b 。请编写程序交换a变量和b变量内的值(利用指针变量pa、pb交换pa和pb指向的内容),并输出a和b 的值。·
4月前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
要交换变量a和b的值,我们可以通过指针pa和pb来实现。以下是具体的程序实现步骤:
- 首先,定义两个整型变量a和b,并初始化它们的值分别为10和20。
- 接着,定义两个指针变量pa和pb,分别指向变量a和b。
- 然后,编写一个交换函数swap,该函数接受两个指针类型的参数,通过指针来交换它们所指向的变量的值。
- 在main函数中,调用swap函数,并传入pa和pb作为参数。
- 最后,输出交换后的a和b的值。
以下是具体的C语言程序代码:
#include <stdio.h>
// 交换函数
void swap(int *pa, int *pb) {
int temp = *pa; // 保存pa指向的值
*pa = *pb; // 将pb指向的值赋给pa指向的变量
*pb = temp; // 将temp(原pa指向的值)赋给pb指向的变量
}
int main() {
int a = 10, b = 20; // 初始化变量a和b
int *pa = &a, *pb = &b; // 定义指针pa和pb,分别指向a和b
printf("Before swap: a=%d, b=%d\n", a, b); // 输出交换前的a和b的值
swap(pa, pb); // 调用交换函数
printf("After swap: a=%d, b=%d\n", a, b); // 输出交换后的a和b的值
return 0;
}
在上述程序中,我们使用了指针来实现变量值的交换。通过调用swap函数,我们传入了指向变量a和b的指针pa和pb,然后在函数内部通过指针来交换它们所指向的变量的值。这样,当我们再次打印a和b的值时,会发现它们的值已经交换了。34
你觉得结果怎么样?