栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C语言】利用指针变量作函数参数,交换两数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C语言】利用指针变量作函数参数,交换两数

引例

程序如下:

#include 
void Swap(int x,int y);
int main(){
	int a,b;
	printf("Please enter a,b: ");
	scanf("%d,%d",&a,&b);
	printf("Before Swap:a=%d,b=%dn",a,b);
	Swap(a,b);
	printf("After Swap:a=%d,b=%dn",a,b);
	return 0;
}
void Swap(int x,int y){
	int t;
	t=x;
	x=y;
	y=t;
}

输出:

原因:形参x和y的值发生改变,并不能引起实参a和b的值发生改变。

可以进一步打印一下Swap中x和y:稍微修改一下Swap()函数。

#include 
void Swap(int x,int y);
int main(){
	int a,b;
	printf("Please enter a,b: ");
	scanf("%d,%d",&a,&b);
	printf("Before Swap:a=%d,b=%dn",a,b);
	Swap(a,b);
	printf("After Swap:a=%d,b=%dn",a,b);
	return 0;
}
void Swap(int x,int y){
	int t;
	printf("first:x=%d, y=%dn",x,y);
	t=x;
	x=y;
	y=t;
	printf("--------------------n");
	printf("second: x=%d, y=%dn",x,y);
}

输出:

指针变量作函数参数,交换两数
//利用指针变量作函数参数,执行:交换两数 
#include 
void Swap(int *x,int *y);
int main(){
	int a,b;
	printf("Please enter a,b: ");
	scanf("%d,%d",&a,&b);
	printf("n"); 
	
	printf("Before Swap: a=%d,b=%dn",a,b);
	printf("n");
	
	Swap(&a,&b);//注意这里填的。 
	printf("After Swap: a=%d,b=%dn",a,b);
	return 0;
}
void Swap(int *x,int *y){
	int t;
	t=*x;  //注意这里。 
	*x=*y;
	*y=t;
}

输出:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/767417.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号