2 dabentudou dabentudou 于 2016.01.13 23:20 提问

分析下面函数,以下说法正确的是

分析下面函数,以下说法正确的是

swap(int *p1,int *p2) { int *p; *p=*p1; *p1=*p2; *p2=*p; }

A. 交换*p1和*p2的值 B. 正确,但无法改变*p1和*p2的值 C. 交换*p1和*p2的地址 D. 可能造成系统故障,因为使用了空指针

4个回答

caozhy
caozhy   Ds   Rxr 2016.01.13 23:38
已采纳

选D,正确的写法
swap(int *&p1,int *&p2) { int *p; p=p1; p1=p2; p2=p; }

91program
91program   Ds   Rxr 2016.01.14 08:24

int *p; 只有定义,没有初始化(分配空间),所以会引起异常。
可以考虑使用 : int p = 0; 然后使用 p 时不要使用 * 号即可。

wenwen091100304
wenwen091100304   2016.01.14 10:18

D p没有初始化,要给p先初始化,int * p=0;

qq_27183003
qq_27183003   Ds   Rxr 2016.01.13 23:34

D p没有初始化,指向的空间是不确定的。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于Samba的一些说法
关于Samba的一些说法 我自己安装配置Samba, 配了一个早上也没有成功. 记录如下: http://yangxuejun.blog.51cto.com/623927/180224 Samba使用 1. 在Fedora默认安装情况下, Samba已经安装完成了. 输入命令: rpm -qa|grep samba 输出如下(说明已经安装): samba-co
在C++语言中,以下说法正确的是()
在C++语言中,以下说法正确的是()正确答案: A D   你的答案: A B C (错误)多态是通过虚表实现的构造函数可以声明为虚函数析构函数不可以声明为虚函数抽象类中至少包含一个纯虚函数C++中 的虚函数的作用主要是实现了多态的机制。而虚函数是通过虚函数表(V-Table)实现的。构造函数不能声明为虚函数,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。构造函数为什么不能声明为虚函数?1...
下面关于HTTP协议的说法正确的是:----腾讯2016研发工程师笔试题(一)
下面关于HTTP协议的说法正确的是: 正确答案: A C  HTTP是基于TCP协议之上的应用层协议 HTTP是一个普通用在浏览器和web服务器之间进行数据交换的流式二进制协议 HTTP协议的ETAG响应头主要用于信息的过期验证 HTTP1.0中的cache-control响应头主要用于控制信息在浏览器的缓存 添加笔记 收藏
以下关于linux操作系统中硬链接和软链接的描述,正确的是?
硬链接就是在原有的iNode的引用加一,用ls -li是可以看到,硬连接的文件与源文件iNode值相同;而软连接是建立了一个iNode,专门用来指向实际文件的iNode,像快捷方式。所以D是错误的。 然而我对B保有疑惑,看到B时我就选了。我认为,“建立”一个空文件的软连接是不可能的,连iNode都没有了,怎么可能去建立软连接。应该用“存在”比较恰当。所以B不准确。 删除源文件的话,软连接则指向了一
以下关于STL的描述中,错误的有
以下关于STL的描述中,____是错的。 正确答案: C   你的答案: A (错误) STL容器是线程不安全的 当容量不够时,vector内部内存扩展方式是翻倍 std::sort是稳定排序 std::bitset不是一个STL容器 std::stack默认是用deque实现的 std::string中可以存储多个’\0’
2015阿里 前端笔试题解析
1. var a = [1,2,3]; a.splice(1,1,2,3,4); console.log(a); 结果是什么? 答案: [ 1, 2, 3, 4 ] splice(index,delLength,addElements); 删除1处的1个元素,在1处插入2,3,4 2. 关于XSS,下列说法正确的是: A:XSS的全称是Cross Si
下面有关继承、多态、组合的描述,说法错误的是?
下面有关继承、多态、组合的描述,说法错误的是?A、封装,把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏 B、继承可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展 C、隐藏是指派生类中的函数把基类中相同名字的函数屏蔽掉了 D、覆盖是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同答案: BC解析: A
下列有关Servlet的生命周期,说法不正确的是?
下列有关Servlet的生命周期,说法不正确的是? 正确答案: Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载
十道Spring选择题及解析。
1、(多选)在关于依赖注入,描述正确的是(BC) A、依赖注入可以增强系统各组件的依赖关系 B、所谓依赖注入,就是明确地定义组件接口,独立开发各个组件 ,然后根据组件件依赖关系组装运行的设计模式 C、依赖注入能够降低系统各组件的依赖关系,提倡面向接口编程 D、Spring的依赖注入和控制反转是完全不同的两个概念
【Java 5班JAVA阶段型考试】
Java 5班JAVA阶段型考试 一、选择题(20分) 1、int x = 1,y=2,z = 3,则表达式 y+=z--/++x运行之后y的值是( A  )。//y=y+(z/(x+1)); A.3      B.3.5       C.4      D.5   2、不允许作为类及类成员的权限控制符的是(  C   )。 A.public  B.private C.static