首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的运行结果是 #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
22
问题
下列程序的运行结果是 #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://jikaoti.com/ti/fTE0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序 #include<stdio.h> main() {inta=2,b=3,c=4; a*=16+(b++)-(++c); printf("%d\n",a); } 程序运行后的输出结果是()。
给定程序MODl1.C中函数fun的功能:将一个十进制整数n转换成r(二~十六)进制形式。示例如下。输入12516,则输出:7D输入92,则输出:1001请改正程序中的错误,使它能得出正确的结果。
定义学生选修课程的关系模式如下:S(S#,Sn,Sd,Sa)(其属性分别为学号、姓名、所在系和年龄)C(C#,Cn,P#)(其属性分别为课程号、课程名和先修课)SC(S#,C#,G)(其属性分别为学号、课程号和成绩)
在深度为5的完全二叉树中,度为2的结点数最多为【】。
有关类和对象的说法不正确的是______。
在下面函数的横线处填上适当的内容使该函数能够利用递归方法求解字符串str的长度(不得使用系统提供的字符串处理函数)。intGetLen(char*str{if(【】)return【】;elseretur
己知类Myst有一个只需要一个double型参数的构造函数,且将运算符“-”重载为友元函数。要使语句序列Mystx(3.2),y(5.5),z(0.0);z=8.9-y;y=x-6.3;能够正常运行,运算符函数oper
假定MyClass为一个类,则该类的拷贝构造函数的声明语句为()。
如果重载不能重载的运算符会出现语法错误,下列不可以被重载的运算符是()。
按照“后进先出”原则组织数据的数据结构是
随机试题
五一假期期间,甲、乙、丙三名同学报名参加一个旅游团,该旅游团共有四个景区供选择,分别为周庄,西塘,枫泾,乌镇,由于时间不足,三名同学都分别选择了三个景点游览(每名同学的选择不受其他同学的影响),已知甲同学肯定会去枫泾,则三名同学不同的选择方案共有(
研究领导行为论的学者有()。
A.血管升压素B.醛固酮C.一氧化氮D.肾上腺素E.内皮素主要由下丘脑神经元合成并分泌,能调节机体水平衡的是
阴道冲洗不用于
下列属于传统财务分析体系局限性的有()。
根据下列材料回答问题。根据2010年第六次全国人口普查数据显示,东部地区中北京市常住人口为1961.24万人,上海市常住人口为2301.91万人;中部地区中河南省常住人口为9402.36万人,山西省常住人口为3571.21万人;西部地区中重庆市常住人口为
下列选项中,不是C++关键字的是
SayingthatPabloPicassodominatedWesternartinthe20thcenturyis,bynow,themerestcommonplace.Inhis50thbirthday,th
TheU.S.isknownforjazz,whichhasgainedworld-wide______(popular).
A、TheUnitedStatesCopyrightOfficecreatedit.B、Itdoesnotprotectartists’techniquesandprocedures.C、Ithasnotbeencha
最新回复
(
0
)