从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这个无法交换数据。C语言函数参数的基本规则是值传递,所以传递时只能实现实参向形参的单向的、值的传递。这就是为什么需要使用指针才能实现值交换的原因。
松江网站建设公司创新互联,松江网站设计制作,有大型网站制作公司丰富经验。已为松江上1000家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的松江做网站的公司定做!
swap函数一般是一个程序员自定义函数。通常是实现两个变量数值的交换。swap1(x,y);printf(swap1: x:%d,y:%d\n,x,y);//形参传值,不能交换,实际传过去是拷贝的一份,没改变主函数中x,y。
这是带参数的宏定义,相当于一个函数,宏定义实际上就是把后面的那个(t= temp;temp=x;x=y;y=temp;)直接加到语句中去的,只是一个替换,在编译之前就进行的。。
答案:A 分析:按照C++语言规则,通过参数带回运算值,只能是传地址,不能是传值 ,B和D的参数是传值,故B和D不能选。C中传回值都是指针变量y所指向地址的值,C也不能选。
要求一个颠倒x,y的函数,就是说把x,y输入到函数中,函数能把他们颠倒。第二个函数的参数中没有x和y的指针,所以根本不可能获得x,y的地址,自然也就不可能颠倒x,y,而且大括号里的x,y也没有变量声明,只会报错而已。
int t,int z)就只是按值传递,函数调用结束后下x,y的值没有真正的互换,互换的只是只是函数形参的值,所以这里用指针来实现,把*x和*y所指向的地址的值互换,这样在函数调用结束后x,y才真正改变了。
A错:y值没变;B错:传的不是指针,x和y都不变;C错:和A一样,y不变;D正确:传的是指针,通过x和y的地址交换它们的值。
B. funb(int x,int y){int t;t=x;x=y;y=t;/// //x=y是y的值变为x的值,后面y=t是x的值变为y的值,这里只让y的值变成x而没有把y的值变为x的值,没有完全交换x和y中的值。
1、A错:y值没变;B错:传的不是指针,x和y都不变;C错:和A一样,y不变;D正确:传的是指针,通过x和y的地址交换它们的值。
2、答案:A 分析:按照C++语言规则,通过参数带回运算值,只能是传地址,不能是传值 ,B和D的参数是传值,故B和D不能选。C中传回值都是指针变量y所指向地址的值,C也不能选。
3、函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图