/*
*Copyright (c) 2017,烟台大学计算机学院
*All rights reserved.
*文件名称:zz.cpp
*作 者:李哲
*完成时间:2017年9月7日
*
*问题描述:输入两个整数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在调用结束后又被自动释放了。