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

定制建站费用3500元

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

成都品牌网站建设

品牌网站建设费用6000元

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

成都商城网站建设

商城网站建设费用8000元

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

成都微信网站建设

手机微信网站建站3000元

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

建站知识

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

C语言:任意输入两个整数,交换并输出(合集补充)-创新互联

上一文讨论了C语言:任意输入两个整数,交换并输出(合集)。

企业建站必须是能够以充分展现企业形象为主要目的,是企业文化与产品对外扩展宣传的重要窗口,一个合格的网站不仅仅能为公司带来巨大的互联网上的收集和信息发布平台,创新互联面向各种领域:成都除甲醛成都网站设计公司网络营销推广解决方案、网站设计等建站排名服务。

但随着进一步学习,会遇到考察不同小细节的新奇题目。是值得大家更深刻的去辨析的。

感兴趣可以直接去学习。

C语言:任意输入两个整数,交换并输出(合集)

本文直接补充(错误辨析版)地址交换这种特殊情况,为什么不去直接修改上一篇文章呢?因为我想水一篇!但是质量可不水!hahaha

(错误辨析版)地址交换,强调与地址的交换而不是地址的传递!这是不能完成数值交换的本质原因!

#includevoid swap(int *a,int *b);
int main()

{
	int i,j;
    scanf("%d%d",&i,&j);
    int *p=&i,*q=&j;
	swap(p,q);
	printf("%d%d\n",*p,*q);
	return 0;
}

void swap(int *a,int *b)
{
	int *t;
	t=a;a=b;b=t;
}

问输入10 5后程序输出什么样的结果?小编做这题时,自信慢慢,哟~考察指针的地址传递了,有了上次的教训和学习,最终又填入了错误答案510!

理论实践

其实是没真正的明白其中的逻辑!将容易弄混的代码放在一起,大家观察比较!

第二个是可以实现交换的(地址传递)

#includevoid swap(int *a,int *b);
int main()

{
	int i,j;
    scanf("%d%d",&i,&j);
    int *p=&i,*q=&j;
	swap(p,q);
	printf("%d%d\n",*p,*q);
	return 0;
}

void swap(int *a,int *b)
{
	int t;
	t=*a;*a=*b;*b=t;
}

理论实践

其实很容易看出来,是自定义swap中不同。

地址交换中swap定义了新的指针*t,而地址传递中swap定义了新的整形t(上一篇解释过如有需要C语言:任意输入两个整数,交换并输出(合集))。

为什么不能实现呢?

函数swap(int *a,int *b)的功能是实现*a和*b中两个数据的交换,在主函数中调用swap(p,q)后,参形指针变量a和b分别指向i和j,在swap(int *a,int *b)执行完后,指针变量a和b分别指向j和i,而指针变量p,q所指向变量的值没有发生变化,所以输出结果仍为105。

其他视图说明

【C语言】交换函数(swap)

两个人从监狱的窗户往外看,一个看见了土地,一个看见了星星。——徐伦

希望对你有帮助,语言学习贵在坚持输入和输出!

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


当前标题:C语言:任意输入两个整数,交换并输出(合集补充)-创新互联
网站网址:http://bjjierui.cn/article/dgiohh.html

其他资讯