- /*
- *Copyright (c) 2017,烟台大学计算机学院
- *All rights reserved.
- *文件名称:zz.cpp
- *作 者:李庆耀
- *完成时间:2017年9月12日
- *
- *问题描述:输入两个整数a和b,交换a和b的数值
- *输入描述:两个整数
- *程序输出:交换后的两个整数
- */
- #include <stdio.h>
- void myswap(int x,int y)
- {
- int t;
- t=x;
- x=y;
- y=t;
- }
- int main()
- {
- int a,b;
- printf("请输入待交换的两个整数:");
- scanf("%d %d",&a,&b);
- myswap(a,b);
- printf("调用交换函数后的结果是:%d 和 %d\n",a,b);
- return 0;
- }
运行结果:
交换不成功的原因:在函数调用时创建的x,y变量是局部变量,只是接收了a和b的值,函数体中对x,y进行了交换并未对a,b本身进行交换。而x,y在调用结束后又被自动释放了。