鱼C论坛

 找回密码
 立即注册
查看: 1202|回复: 2

这是为什么?

[复制链接]
发表于 2015-7-18 10:45:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
C:\Documents and Settings\Administrator\My Documents\My Pictures
#include <stdio.h>
int a[5] ={0} ;
int main()
{
         a[10] = 20 ;
        printf("%d ,  %d " , a[4] , a[10]);
  return 0 ;
}
为什么可以输出a[10]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-18 11:25:45 | 显示全部楼层
C/C++不会主动检查数组越界
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-19 12:16:51 | 显示全部楼层
#include<stdio.h>
        int n[5]={0,1,2,3,4};
int main(void){
        int n[10]={5,6,6,8,9,10,11,12,13,14};
        
        printf("%d,%d \n",n[4],n[9]);
        /*结果显示屏蔽了全局变量;但是不建议全局变量和局部变量 
         *设为同一名字的标识符; 
         */ 
         printf("...n[10]=%d,n[11]=%d,n[12]=%d;\n",n[10],n[11],n[12]);
         //你可以输出更多,n[100],n[999]都可以;但是超过n[9]以后的都是乱码,都是无效的数据; 
         //就是数组越界,超出了数组所能表示的有效氛围; 
        return 0;        
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 03:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表