指针 交换两个数字的问题的求解以及问题的分析

指针 交换两个数字的问题的求解以及问题的分析,第1张

指针 交换两个数字的问题的求解以及问题的分析
#include 
void swap_1(int a,int b)//error_1
{
	int t;
	t=a;
	a=b;
	b=t;
	return;
}

void swap_2(int * a,int * b)//error_2
{
	int * t;//*t表示int类型 
	t=a;
	a=b;
	b=t;
	return;
}
void swap_3(int * a,int * b)//right!
{
	int t;//交换*a与*b的位置,因此要用到整型t,因为存在t=*p,
		  //如果形参为int a,则t写成int * t的形式,因为存在着*t=a; 
	t=*a;//a是int *类型,*a是int类型 
	*a=*b;
	*b=t; 
	return;
}

int main()
{
	int a=2;
	int b=3;
	swap_1(a,b);//error 
	swap_2(&a,&b);
	swap_3(&a,&b);//&a交给了int * a中的a,a为存放int *类型的地址 
	printf("a=%d b=%d",a,b);
	return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5692318.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存