| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1747 人关注过本帖
标题:C语言里数组的问题
取消只看楼主 加入收藏
ltfkdc
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:11
专家分:8
注 册:2010-7-30
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
C语言里数组的问题
为什么 int a[10]={5,12,8,20,15};    printf("%d\n",a[10]);的结果是1245064,我用的是VC++
而我改为
void main()
{
    int i,a[10]={5,12,8,20,15};
    for(i=0;i<10;i++)
        printf("%d\t",a[i]);
    printf("%d\n",a[10]);
}
时,A[10]的结果是10.这又是为什么,
我再改为
void main()
{
    int a[10]={5,12,8,20,15},i;
    for(i=0;i<10;i++)
        printf("%d\t",a[i]);
    printf("%d\n",a[10]);
}
时a[10]的值又是1245064.求高手解答,小弟才学的,还有题目问的a[10]的值到底是多少




[ 本帖最后由 ltfkdc 于 2010-7-30 00:30 编辑 ]
搜索更多相关主题的帖子: C语言 
2010-07-30 00:28
ltfkdc
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:11
专家分:8
注 册:2010-7-30
收藏
得分:0 
我知道是越界了,但是书上有个题目就是这样的,他就问我a[10]的值是多少,搞的很郁闷,就来问大家了啊,是个填空题,不知道填什么
2010-07-30 11:26
ltfkdc
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:11
专家分:8
注 册:2010-7-30
收藏
得分:0 
是俺们大学教材,大哥……被你们无情的鄙视了一把
2010-07-30 11:46
ltfkdc
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:11
专家分:8
注 册:2010-7-30
收藏
得分:0 
回复 5楼 Rexfield
i的数据空间在a[]之后
C的数组寻址算法就是:
a+N  N是下标a是数组的起始地址
所以a[10]=a+10*4=i
……………………………………………………………………………………………………
能不能把数组的寻址算法说清楚点,比如说,告诉我,我把i定义在a[10]前面时,a[10]怎么得到的10。。谢谢
2010-07-30 11:49
快速回复:C语言里数组的问题
数据加载中...
 
   



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

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