#include<stdio.h>
main()
{
void swap(int *p1,int *p2);//定义swap函数,用于交换。
int *p,*q;
int a,b; //定义两个指针变量和两个数a和b
printf("请输入两个数:");
scanf("%d,%d",&a,&b);//输入两个数
p=&a;
q=&b;//将p和q分别指向a和b的地址
swap(p,q);//调用swap函数对p和q执行交换
printf("\n经过交换为:%d,%d",a,b);//输出交换后a和b的值
}
void swap(int *p1,int *p2)//定义函数内容
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;//用变量temp实现p1与p2的交换
总结:1 编程后想调用函数应用指针*temp来交换p1与p2的,后来运行结束后发现没有交换,后来用将 *temp赋给其他变量才得以交换,不过复杂了很多,多此一举,所以用变量temp最为合适。
2 运行是逗号没有发现是中文的,导致久久没有发现问题,所以一定细心编程,及时修改错误。
3 通过调用函数来实现指针间的交换地址,进而实现交换两个数,所以修改数可以直接通过指针直接来对数的修改,比正常运用函数来修改数更为便利。
时间: 2024-10-06 01:15:02