首页 > 代码库 > 交换两个整形变量的数值

交换两个整形变量的数值

#include<stdio.h>
void swap(int *p3,int *p4)//定义swap函数,定义两个指针参数 
{
    int t;// 定义一个整形t来做数据交换的中介 
    t=*p3;
    *p3=*p4;
    *p4=t;//3步交换 
}
main()
{
    int a,b;//定义两个整形变量a,b 
    int *p1,*p2;//定义两个指针变量p1,p2 
    p1=&a;//指针p1指向a 
    p2=&b;//指针p2指向b 
    printf("输入a,b的值:") ; 
    scanf("%d %d",&a,&b);
    printf("swap函数调用前:%d %d\n",*p1,*p2); 
    swap(p1,p2);//调用swap函数 
    printf("swap函数调用后:%d %d\n",*p1,*p2);
}

技术分享

程序运行成功

总结


主函数中的指针变量p1,p2通过调用swap函数向函数中的指针p3,p4传递地址,p3,p4通过地址访问a,b的值并在swap函数内调换,做到利用函数进行调换的效果

当需要调用函数对变量进行修改时,需要利用指针间接访问变量,再对变量进行修改。

交换两个整形变量的数值