| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 451 人关注过本帖
标题:数组问题
只看楼主 加入收藏
toto_kuai
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-10-7
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
数组问题
#include <stdio.h>
 main ( )
 { int a[]={1,2,3,4,5,6,7,8,9,0},*p;
  p=a;
 printf("%x\n".p);printf("%\n",p+9);
 }
 若一个 int类型的变量占2个字节,第一个printf 语句输出的是194, 则第二发 printf语句输出的结果的?
  请问大家第一个语句是怎么样得到的  在帮我分析哈
  
搜索更多相关主题的帖子: include 
2010-03-02 19:40
toto_kuai
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-10-7
收藏
得分:0 
  在线等 谢谢
2010-03-02 19:40
小J
Rank: 8Rank: 8
等 级:等待验证会员
威 望:1
帖 子:282
专家分:704
注 册:2009-6-18
收藏
得分:4 
第二个打印的0的地址。具体的结果由于机子不同所以结果不一定相同。
因为你的p指的是a的首地址,即p是1的地址,当p+9后p向后移动了9个单位,就指到0,此时输出地是0的地址。
2010-03-02 21:15
陈大师
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:231
专家分:1038
注 册:2009-11-4
收藏
得分:4 
#include <stdio.h>
main ( )
{ int a[]={1,2,3,4,5,6,7,8,9,0},*p;
  p=a;
printf("%x\n",p);//以十六进制的形式输出a[0],也就是1的地址12ff59
printf("%x\n",p+9);//以十六进制的形式输出a[9],也就是0的地址12ff7c

}
2010-03-02 21:19
toto_kuai
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-10-7
收藏
得分:0 
回复 4楼 陈大师
谢谢
2010-03-04 21:13
冰河砺剑
Rank: 1
等 级:新手上路
帖 子:11
专家分:9
注 册:2009-5-31
收藏
得分:4 
回复 4楼 陈大师
学习了

[url=http://blog.]我的博客[/url]
2010-03-04 22:16
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:4 
    ___ p == 194
|1|___ p + 1 == 194 +sizeof(int)*1
|2|___ p + 2 == 194 +sizeof(int)*2
|3|___
|4|___
|5|___
|6|___
|7|___
|8|___
|9|___ p + 9 == 194 +sizeof(int)*9
|0|
在这里提问约定sizeof(int) == 2, so...


2010-03-06 10:15
zhuyunshen
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:212
专家分:455
注 册:2009-11-22
收藏
得分:4 
好好看嘛
2010-03-06 10:43
快速回复:数组问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023227 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved