c++基础问题

如果i是int型变量,p和q是指向i的指针,下列哪个赋值是合法的?(1)p=i;(2)p=&q;(3)p=*q;(4)*p+&i;(5)*p=q;(6)&p=q;(7)p... 如果i是int型变量,p和q是指向i的指针,下列哪个赋值是合法的?
(1) p = i; (2) p = &q; (3) p = *q; (4) *p + &i;
(5) *p = q; (6) &p = q; (7) p = q; (8) *p = *q;
展开
 我来答
百度网友3c1ed0799
2012-12-23 · TA获得超过132个赞
知道答主
回答量:88
采纳率:0%
帮助的人:67.6万
展开全部
(1)不合法,指针变量不能赋值给整型变量。
(2)不合法,指针的指针(&q)不能赋值给指针。
(3)不合法,整型变量不能赋值给指针。
(4)合法,整型变量可以和指针变量相加。注意这句虽然语法没错,但是逻辑是错的。
(5)不合法,指针不能赋值给整型变量。
(6)不合法,指针变量不能赋值给指针的指针。
(7)合法。指针可以互相赋值。
(8)合法。整型变量可以相互赋值。

总结,相同类型的变量可以相互赋值,不同类型不能相互赋值,指针变量可以和整形变量进行加减运算。
loujing
2012-12-23 · TA获得超过1818个赞
知道小有建树答主
回答量:455
采纳率:100%
帮助的人:439万
展开全部
4的表达式是对的,但不是赋值,与题目不符。如果是*p=&i,则是错的。
7是合法的且是赋值。
8是合法的且是赋值。
其它都是错的。

应该选7、8。
赋值要求两边数据类型和指针类型都相同。
1,左边是int*,右边是int,错。
2,左边是int*,右边是int**,(即左边是一级整型指针,右边是二级整型指针),错。
3,左边是int*,右边是int,错。
5,左边是int,右边是int*,错。
6,左边是int**,右边是int*,错。
7,左右两边都是int*,对。
8,左右两边都是int,对。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fcjailybo
2012-12-23
知道答主
回答量:25
采纳率:0%
帮助的人:20.9万
展开全部
(7)(8)肯定是合法的啊,两者的类型相同啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
火_炬_木
2012-12-23 · TA获得超过292个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:94.3万
展开全部
应该第(5)个是合法的,不过没有什么意义。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式