读书人

输出结果为啥会这样呢

发布时间: 2012-07-03 13:37:43 作者: rapoo

输出结果为什么会这样呢?

C/C++ code
//array数组元素赋值怎么是5 2 3 4 5呢?#include <iostream>using namespace std;int main(){    int sign=1;    int array[5]={1,2,3,4,5};    int array2[5];    for(int i=0;i<5;i++)        cin>>array2[array[i]];    for(int i=0;i<5;i++)    {        if(!sign)            cout<<array2[i]<<' ';        if(!sign&&i==4)            cout<<endl;        if(sign)            cout<<array[i]<<' ';        if(sign&&i==4)            sign=0,i=-1,cout<<endl;    }}输入:1 2 3 4 5结果:5 2 3 4 5   array[i];     0 1 2 3 4   array2[i];


[解决办法]
cin>>array2[array[i]];

输入:1 2 3 4 5

判断 array2=[0 ,1 ,2 ,3 ,4],你的赋值是从1开始的,到5的时候,已经是6个长度了,而0的时候是没赋值的.

读书人网 >C++

热点推荐