搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 请各位高手帮忙解决一道题!
标题:
请各位高手帮忙解决一道题!
只看楼主
bclt2009
等 级:
新手上路
帖 子:7
专家分:0
注 册:2009-7-24
结帖率:
0
楼主
已结贴
√
问题点数:20 回复次数:5
请各位高手帮忙解决一道题!
int a[3];
a[0]=0;a[1]=1;a[2]=2;
int *p,*q;
p=a;
q=&a[2]; a[q-p]=?
这个结果是什么?怎么算出来的!希望给为高手帮我看看!
搜索更多相关主题的帖子:
解决问题
2009-07-24 10:41
bitjjj
等 级:
新手上路
帖 子:1
专家分:7
注 册:2009-7-24
第
2
楼
得分:6
两个指针相减就是两个指针之间的(地址差/sizeof(指针类型)),也就是相差的数组个数,p指向a[0],q指向a[2],q-p=2-0=2;
2009-07-24 10:59
lin52045
等 级:
论坛游侠
帖 子:41
专家分:113
注 册:2009-7-24
第
3
楼
得分:6
虽然我也是菜鸟,但我个人认为应该是2
p=a就是说*p=a[0]所以p=0,q=&a[2]就是说q=2,所以a[q-p]=a[2-0]=a[2]=2
有错的话请高手指正
C语言入门新手,大家一起讨论学习!
2009-07-24 11:02
bclt2009
等 级:
新手上路
帖 子:7
专家分:0
注 册:2009-7-24
第
4
楼
得分:0
回复 2楼 bitjjj
谢谢你的回答,讲的很详细!
2009-07-24 11:03
bclt2009
等 级:
新手上路
帖 子:7
专家分:0
注 册:2009-7-24
第
5
楼
得分:0
回复 4楼 bclt2009
int main()
{
char a;
char *p=a;
strcpy(p,"test");
printf(p);
return 0;
}这个的结果是不是 t?
2009-07-24 11:10
文武两边随
等 级:
论坛游民
帖 子:40
专家分:39
注 册:2009-7-23
第
6
楼
得分:6
那么的话在内存中指针相减是怎么处理的呢?
比如
int *p1,*p2;
那么p1-p2是什么意思?
2009-07-24 19:20
6
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-280371-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.873703 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved