c语言int a[10],*p=a+6,*q=a;下列哪种运算是错误的?A.p-q B.p+3 C.p+q D.p>q,答案选C,谁能跟我解释一下
4个回答
展开全部
指针可以与整数进行加减,这个整数是增量,基地址没有改变,担当p和q都是指针时,两个地址相加显然不符合寻址(MASM用语)规律,而且很有可能超出数据段,因而p + q是错误的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
回复楼主:
A:指针相减表示两个地址的差值
B:指针加整数这个很明显正确
C:指针相加操作无意义 (错误)
D:两个指针是可以进行比较的
A:指针相减表示两个地址的差值
B:指针加整数这个很明显正确
C:指针相加操作无意义 (错误)
D:两个指针是可以进行比较的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A:是求p相对于q的偏移;
B:p+3是从p所在的位置偏移3个int大小的地址;
C:地址+地址无意义会产生野指针;
D:判断p,q的地址大小;
B:p+3是从p所在的位置偏移3个int大小的地址;
C:地址+地址无意义会产生野指针;
D:判断p,q的地址大小;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询