| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 400 人关注过本帖
标题:简单的数组问题
只看楼主 加入收藏
zheng3912930
Rank: 1
等 级:新手上路
帖 子:15
专家分:2
注 册:2011-11-10
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:3 
简单的数组问题
#include<stdio.h>
const int MAX=5;
int main()
{
     int i,Ar[MAX];
    for(i=0;i<10;i++)
    {
        Ar[i]=i;
    }
    for(i=0;i<10;i++)
      printf("%d",Ar[i]);
    return 0;
}
为什么没有错误!数组长度不是为5吗,怎么可以输入十个数?
这样有没有危险!这不是说明数组长度可以变了吗?
2012-06-25 10:30
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:5 
C是不会检查数组边界的,所以很容易出现越界行为。当然有的编译器编译运行后,会出错的。

★★★★★为人民服务★★★★★
2012-06-25 10:54
阿鞠尼
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:首尔
等 级:蒙面侠
威 望:5
帖 子:1467
专家分:4442
注 册:2012-5-30
收藏
得分:5 
呵呵 你这应该是c++的问题吧 具体我不知道 但是const int MAX=5;这里没有问题吗 应该加分号吗
我用c帮你运行了一下如下图 (发现问题了吗)
图片附件: 游客没有浏览图片的权限,请 登录注册
但当我把i该成5的时候就变成了第二幅图
图片附件: 游客没有浏览图片的权限,请 登录注册


喜欢睡觉 却经常熬夜
2012-06-25 10:55
阿鞠尼
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:首尔
等 级:蒙面侠
威 望:5
帖 子:1467
专家分:4442
注 册:2012-5-30
收藏
得分:0 
回复 2楼 cnfarer
哦 这么个事

喜欢睡觉 却经常熬夜
2012-06-25 10:56
快速回复:简单的数组问题
数据加载中...
 
   



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

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