首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的运行结果是 #include<iostream.h> void fun(int*a,int*b) { int*k; k=a;a=b;b=k; } void main() { int a=3,b=
下列程序的运行结果是 #include<iostream.h> void fun(int*a,int*b) { int*k; k=a;a=b;b=k; } void main() { int a=3,b=
admin
2010-03-29
43
问题
下列程序的运行结果是 #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、6 3
B、3 6
C、编译出错
D、O 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/jRjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
运行下面程序时,从键盘输入字母A,则输出结果是()。#include<stdio.h>main(){charch;ch=getchar();switch(ch){case’A’:pr
下列叙述中错误的是()。
请编一个函数fun(char*s),函数的功能是把S所指字符串中的内容逆置。例如:字符串中原有的字符串为:abcdefg,则调用该函数后,串中的内容为:gfedcba。注意:部分源程序存在文件PROGl.C中。请勿改动主函数m
以下关于retum语句的叙述中正确的是()。
若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是( )。
数据库系统的核心是()。
数据管理技术发展的三个阶段中,()没有专门的软件对数据进行管理。I.人工管理阶段II.文件系统阶段III.数据库阶段
下列有关数据库的描述,正确的是()。
下面不属于软件需求分析阶段主要工作的是
下列描述中,()是抽象类的特性。
随机试题
下列选项中,属于无因管理的是()
充填后嵌塞的原因之一是
当钢筋笼制作时,一般采用(),以确保焊口平顺。
2012年4月18日,A公司向B公司购买一批原材料,货款为6万元。A公司采用支票付款。B公司向自己的开户银行C提交支票时,开户银行C的工作人员受理了该支票,并做了认真审查,发现支票上A公司的签章为“发票专用章”和A公司财务主管“王某某”的个人名章,遂建议B
沈先生今年刚到40岁,打算60岁退休,考虑到通货膨胀,退休后每年年初需拿出8万元供一年的生活支出。沈先生预计可以活到80岁,沈先生拿出5万元储蓄作为退休基金的启动资金,并打算每年年末投入一笔固定的资金。沈先生在退休前采取较为积极的投资策略,假定年回报率为9
下列关于企业计提固定资产折旧会计处理的表述中,不正确的是()。
小时不识月,呼作白玉盘。_______,_________。(唐.李白《古朗月行》)
下列关于党的重大历史事件,按时间先后顺序排列正确的是()。①大会确立了毛泽东思想是党的指导思想,是一切工作的方针,为全党也为全国人民指明了前进和胜利的方向②会上作出了把全党工作重点转移到社会主义现代化建设上来的战略决策,重新确立了解放思想、实
定义学生、教师和课程的关系模式:S(S#,Sn,Sd,Sa)(属性分别为学号、姓名、所在系、年龄);C(C#,Cn,P#)(属性分别为课程号、课程名、先修课);SC(S#,C#,G)(属性分别为学号、课程号和成绩)。则该关系为
So,______,thereremainsafundamentalquestion:atwhatprecisetimedoeslifebegin?
最新回复
(
0
)