首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的运行结果是 #include<iostream.h> void fun(int *a,int *B) {int *k; k=a;a=b;b=k; } void
下列程序的运行结果是 #include<iostream.h> void fun(int *a,int *B) {int *k; k=a;a=b;b=k; } void
admin
2013-02-27
66
问题
下列程序的运行结果是 #include<iostream.h> void fun(int *a,int *B) {int *k; k=a;a=b;b=k; } void main( ) {int a=3,b=6,*x=&a,*y=&b; fun(x,y); cout << a <<" "<< b; }
选项
A、63
B、36
C、编译出错
D、0
答案
2
解析
函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中去。在本题解析中,我们试图将这一问题解释清楚!
大家可以考虑一下利用下面这函数可不可以实现 a和b的互换。
swap(int x,int y)
{int t;
t=x;
x=y;
y=t;
}
如果在main函数中用swap(a,B,会有什么结果呢?在函数调用开始时,a的值传送给x,b的值传递给 y。执行完swap()函数后,x和y的值是互换了,但 main()函数中的a和b并未互换。也就是说由于“单向传递”的“值传递”方式,形参值的改变无法传递给实参。
为了使在函数中改变了的变量值能被main()函数所用,不能采取上述办法,而应该用指针变量做函数参数。在函数执行过程中使指针变量所指向的变量值发生变化,函数调用结束后,这些变量值的变化被保留下来,这样就实现了调用函数改变变量的值,在主调函数中使用这些改变了的值的目的。
swap(int *p1,int *p2)
{ int p;
p= *p1;
*p1=*p2;
*p2=p;
}
注意交换*p1和*p2的值是如何实现的,如果写成下面这样就有问题了!
swap(int *p1,int *p2)
{ int *p;
*p=*p1;/*此语句有问题:*/
*p1=*p2;
*P2=*p;
}
*p1就是a,是整型变量。而*p是指针变量p所指向的变量,但p中并无确切地址,用*p可能会造成破坏系统的正常工作状态。应该将*p1的值赋给一个整型变量,用整型变量作为过渡变量实现*p1和*p2的交换。
转载请注明原文地址:https://kaotiyun.com/show/RoNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序 #include<stdio.h> main() {inta=2,b=3,c=4; a*=16+(b++)-(++c); printf("%d\n",a); } 程序运行后的输出结果是()。
有以下程序:#include<stdio.h>main(){intch=020;printf(”%d\n”,ch=ch>>1);}程序运行后的输出结果是(
以下不能作为合法常量的是()。
编译时的多态性可以通过使用()获得。
若有说明:ints[3][4]={0);,则下面叙述正确的是()。
以下错误的if语句是()。
已知类A中的一个成员函数的说明如下:voidSetValue(A&a);则该函数的参数“A&a”的含义是______。
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是______。
假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法并返回相加结果,该成员函数的声明语句为______。
下列哪种说法不符合多态性的含义______。
随机试题
(2018年聊城冠县)《中华人民共和国教育法》规定,学校及其他教育机构行使的权利不包括()
厂长负责制下,当厂长同管理委员会的多数成员对经营管理中的重大问题意见不一致时,厂长()解决方案。
针对合作型谈判者,一般应采用的谈判原则是()
符合肾细胞癌的描述是
治疗亚急性感染性心内膜炎,应用抗生素的原则中错误的是
用水浸法测定沥青与矿料的黏附性试验中,按每100g矿料加入沥青5.5g±0.2g的比例称取沥青,准确至0.1g,放入小型拌和容器中,放入同一烘箱中加热30min。()
企业可供分配的利润等于本年实现的净利润加上年初未分配利润,减去提取的盈余公积后的金额。()
Thegeneraladditionalriskssuchasraindamagerisksandshortagerisksarecoveredunder()inPICCOceanMarineCargoCla
按有无特定财产担保,债券可分为()。
以行为不符合社会规范,经常违法乱纪,对人冷酷无情为主要特征的人格障碍属于()。
最新回复
(
0
)