#include<iostream.h>
void main(void)
{
int i=0, a[10],b[10]; int c[10]={0,1,2,3,4,5,6,7,8,9}; //数组初始化
for(i=0;i<=9;i++)
a[i]=i,cout<<a[i];
cout<<endl; for(i=9;i>=0;i--)
b[i]=a[i],
cout<<b[i];
cout<<endl;for(i=0;i<=30;i++)
cout<<c[i]<<endl;//你知道这里c[i]结果为什么是0---30 吗?}这里数组c 下标名名已经越界为什么还会有这样的结果?
void main(void)
{
int i=0, a[10],b[10]; int c[10]={0,1,2,3,4,5,6,7,8,9}; //数组初始化
for(i=0;i<=9;i++)
a[i]=i,cout<<a[i];
cout<<endl; for(i=9;i>=0;i--)
b[i]=a[i],
cout<<b[i];
cout<<endl;for(i=0;i<=30;i++)
cout<<c[i]<<endl;//你知道这里c[i]结果为什么是0---30 吗?}这里数组c 下标名名已经越界为什么还会有这样的结果?
就算你的i 越界了,指针偏移到c + 30 的位置,只要这个位置的内存
为APP能访问的内存,它一样会把 *(c+30)处的值(对你来说无意思的值)作为int型输出。