网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

C语言中swap函数的使用注意事项-创新互联

先给出错误示范

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名雅安服务器托管、营销软件、网站建设、立山网站维护、网站推广。
#includevoid swap(int a,int b)
{
	int temp=a;
    a=b;
	b=temp;
}
int main()
{
	int a,b;
	int temp;
	a=1;
	b=2;
	printf("a=%d b=%d\n",a,b);
	swap(a,b);
	printf("a=%d b=%d",a,b);
	return 0;
}

大多初学者使用时都会犯这样的错误,那么为什么输出来的两次中a,b的值并没有发生交换呢

这里是因为如上的交换我们只改变了在swap函数里的值,也就是只改变了形参,待其回到main即会复原,所以我们需要用指针把两个int的地址传过去,如下

#includevoid swap(int *a,int *b)
{
	int temp=*a;
	*a=*b;
	*b=temp;
}
int main()
{
	int a,b;
	int temp;
	a=1;
	b=2;
	printf("a=%d b=%d\n",a,b);
	swap(&a,&b);
	printf("a=%d b=%d",a,b);
	return 0;
}

如果不使用指针,我们也可以把输出放在swap函数内部,如下:

#includevoid swap(int a,int b)
{
	int temp=a;
	a=b;
	b=temp;
	printf("a=%d b=%d",a,b);//改变后 
}
int main()
{
	int a,b;
	int temp;
	a=1;
	b=2;
	printf("a=%d b=%d\n",a,b);//改变前 
	swap(a,b);
	return 0;
}

以上两种方法即可帮助我们成功交换两个值

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文标题:C语言中swap函数的使用注意事项-创新互联
文章地址:http://bjjierui.cn/article/csipgh.html

其他资讯