方法1:
//用指针实现数据交换
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a, b;
int* p;
int* q;
printf("请输入a的值:");
scanf("%d", &a);
printf("请输入b的值:");
scanf("%d", &b);
p = &a;
q = &b;
int t;
t = *p;
*p = *q;
*q = t;
printf("交换后的a的值:%d", * p);
printf("\n交换后的b的值:%d", *q);
}
方法2:本程序创建了一个自定义函数change(),用于实现交换两个变量的值,该函数包含两个指针变量:p,q,在主函数中定义了两个指针型的实参:pa,pb,在函数调用时,将实参变量的值传递给形参,交换完之后pa和p都指向变量a,pb和q都指向变量b,在主函数中输出的变量是已经交换过的值。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//定义调换函数
int change(int* p, int* q)
{
int temp;//定义交换变量
temp = *p;
*p = *q;
*q = temp;
return *p, * q;
}
int main() {
int a, b;
int *pa, *pb;
pa = &a;
pb = &b;
printf("请输入a数据的值:");
scanf("%d", &a);
printf("请输入b数据的值:");
scanf("%d", &b);
change(pa, pb);
printf("调换后的a的值为:%d", *pa);
printf("\n调换后的b的值为:%d", *pb);
int getch(void);
}