| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 939 人关注过本帖
标题:数组问题
取消只看楼主 加入收藏
id3663423
Rank: 2
来 自:浙江
等 级:论坛游民
帖 子:48
专家分:63
注 册:2009-4-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
数组问题
#include<stdio.h>
#include<conio.h>
int main()
{
    int i;
    int a[90];
    for(i=0;i<=100;i++)
        a[i] = i;
    for(i=100;i>0;i--)
        {
            if(i%10==0)
              printf("\n");
            printf("%-4d ",a[i]);               
        }
    getch();
    return 0;   
}
这个数组只有90个元素,但是运行结果还是能输出100-1这100个数...奇怪了...
搜索更多相关主题的帖子: include return 元素 
2011-11-24 13:34
id3663423
Rank: 2
来 自:浙江
等 级:论坛游民
帖 子:48
专家分:63
注 册:2009-4-15
收藏
得分:0 
以下是引用c_icer在24-11-2011 15:25:06的发言:

内存是连续的,虽然你的数组只定义了90个,但是,你在赋值的时候赋了100个,后面10个的内存地址是和数组地址连接着的。所以你能读出来,但是如果在中间加上一些其他的操作,就不会这样了。
个人意见。。。
把90改50就直接运行不了了...

每多学一点知识,就少写一行代码.
2011-11-24 20:55
id3663423
Rank: 2
来 自:浙江
等 级:论坛游民
帖 子:48
专家分:63
注 册:2009-4-15
收藏
得分:0 
我最近在看美国人写的那本,c安全编码标准....c就是这么神奇..他不会出错,但是就是不安全啊...

每多学一点知识,就少写一行代码.
2011-11-25 09:54
快速回复:数组问题
数据加载中...
 
   



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

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