笔试题,求解释。。

pbdwadr 2011-11-23 11:38:33
int main()
{
int* a, * b;
a = (int*)100;
b = (int*)200;
printf("%d", b-a);
return 0;
}

输出是什么?为什么?
...全文
105 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
self001 2011-11-24
  • 打赏
  • 举报
回复
首先这个题是指针减指针 你知道的;
其次是 因为int型占用四个字节;所以需要除以四.如果换成char*就一百,好好领会;
printf("%d\n",d-c); //十进制输出,有什么难理解的吗?
a707000646 2011-11-23
  • 打赏
  • 举报
回复
就是这样了
你可以想象一下
如果有一个数组int[]array = {1,2,3,4,5}
int *p = array;
为什么 ++p ;可以让p的地址指向下一个下标
[Quote=引用 16 楼 maoxing63570 的回复:]
C/C++ code

int _tmain(int argc, char* argv[])
{
int* a, * b;
a = (int*)100;
b = (int*)200;
printf("%d\n", b-a);

char *c,*d;
c=(char*)100;
d=(char*)200;
……
[/Quote]
hondely 2011-11-23
  • 打赏
  • 举报
回复
game over!!!!!
maoxing63570 2011-11-23
  • 打赏
  • 举报
回复

int _tmain(int argc, char* argv[])
{
int* a, * b;
a = (int*)100;
b = (int*)200;
printf("%d\n", b-a);

char *c,*d;
c=(char*)100;
d=(char*)200;

printf("%d\n",d-c);
getchar();
return 0;
}

你懂的,不解释。什么时候又变成哥哥了
lee22you 2011-11-23
  • 打赏
  • 举报
回复
我晕,没看懂啊
pbdwadr 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 a707000646 的回复:]

指针+1其实移动了所指类型的长度
如果你转化成int类型
就可以明显的看到 (int)b-(int)a = 100
[/Quote]

我想知道printf("%d", b-a)这句到底是什么意思。。

怎么突然发现printf这么陌生?还请详细指点。。
a707000646 2011-11-23
  • 打赏
  • 举报
回复
指针+1其实移动了所指类型的长度
如果你转化成int类型
就可以明显的看到 (int)b-(int)a = 100
hondely 2011-11-23
  • 打赏
  • 举报
回复
可以结贴了
hondely 2011-11-23
  • 打赏
  • 举报
回复
a707000646 2011-11-23
  • 打赏
  • 举报
回复
25 地址200-地址100
int类型
因此是100/4=25
pbdwadr 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 maoxing63570 的回复:]

25这个答案只针对于32位机
[/Quote]

大哥,可以解释一下 printf("%d", b-a)这句吗?
maoxing63570 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 pbdwadr 的回复:]

为什么要除以4啊?
b-a得出的不是数字100吗?
[/Quote]
但是它的类型是int*
maoxing63570 2011-11-23
  • 打赏
  • 举报
回复
25这个答案只针对于32位机
pbdwadr 2011-11-23
  • 打赏
  • 举报
回复
为什么要除以4啊?
b-a得出的不是数字100吗?
hondely 2011-11-23
  • 打赏
  • 举报
回复
我的电脑上是 25
maoxing63570 2011-11-23
  • 打赏
  • 举报
回复
囧,搞错了,200-100=100/4=25
hondely 2011-11-23
  • 打赏
  • 举报
回复
同求............
pbdwadr 2011-11-23
  • 打赏
  • 举报
回复
为什么是4,求解释。。
maoxing63570 2011-11-23
  • 打赏
  • 举报
回复
4 回复太短

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧