#include<iostream>
using namespace std;
int main()
{
const int i = 21;
const int ii = 3;
int a[i],b[ii];
for(int i=0;i<5;i++)
{
a[i] = b[ii];//什么效果阿.我快哭了
std::cout<<a[i]<<" ="<<b[ii]<<std::endl;
}
system("pause");
return 0;
}
我很想知道这种赋值会出现什么效果,我真的好像知道,我不知道这句是什么意思
a[i] = b[ii]; //将一个数组赋值给另一个数组,会怎么样,我不知道会怎样我照书钞的程序
http://topic.csdn.net/u/20110517/11/3a27a201-b76d-4d03-813e-7479b2c96cb4.html?88292
这个我也不知道什么意思. 

解决方案 »

  1.   

    怎么回事越界呢?i在外部的生存空间和for循环内部的生存空间不是同一个;在for循环里面i最大值为4;也就是只对a数组的前5个元素赋值;没有越界;
      

  2.   

    a数组和b数组都是未初始化就使用.实际就是把b[3]复制给a数组中. 因为在循环中只有i在变,ii是常量.
      

  3.   

    1.编译出错,i重定义.
    2.数组b[ii]未始化而直接使用,数组b[ii]的值无效,
    3.数组b越界,a[i] = b[ii];即 a[i] = b[3];(数组b只有b[0]、b[1]、b[2]三个元素)