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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!