读书人

利用循环 向数组输入元素有关问题

发布时间: 2012-02-05 12:07:15 作者: rapoo

利用循环 向数组输入元素问题

程序如下:

inculde<iostream>
using namespace std;

int main()
{
int i=0;
int ival;
int *ia=new int[100];

cout<<"piease enter some numbers:"<<endl;

while(cin>>ival)
{
ia[i]=ival;//原想利用循环向数组中输入元素,但这步不知为什么不能向数组里输入元素
++i;
}

cout<<i<<ia[i]<<endl;
cout<<sizeof(ia)/sizeof(*ia)<<endl;

delete [] ia;

return 0;

}

求助啊,代码不复杂,但不知为什么循环里会有问题,编译时也没报错,就是调试时发现数组里的元素根本不是我想要的那样!哪位c高手帮菜鸟解答下啊,感激不尽啊!!!




[解决办法]

C/C++ code
     int i=0;     int ival;     int *ia=new int[100];     cout<<"piease enter some numbers:"<<endl;     while(cin>>ival && i != 100)     {         ia[i]=ival;//原想利用循环向数组中输入元素,但这步不知为什么不能向数组里输入元素         ++i;     }     cout<<i<<ia[i]<<endl;     cout<<sizeof(ia)/sizeof(*ia)<<endl;     delete [] ia;
[解决办法]
C/C++ code
#include<iostream>using namespace std;int main(){    int i=0;    int ival;    int *ia=new int[100];        cout<<"piease enter some numbers:"<<endl;        while(cin>>ival)    {        ia[i]=ival;//原想利用循环向数组中输入元素,但这步不知为什么不能向数组里输入元素        ++i;          //跳出循环之后ia[i]为一个未赋值的地址    }    i=0;   //            cout<<i<<ia[i]<<endl;    cout<<sizeof(ia)/sizeof(*ia)<<endl;        delete [] ia;        return 0;    }
[解决办法]
要保证i不越界,而且最后的i值不对啊
[解决办法]
ia[i]应该为 ia[i-1]
[解决办法]
探讨

引用:
开多大空间,多大空间就留给你了,不管你用还是不用

我真的糊涂了,如果是这样的话,那为什么还要动态分配数组,普通数组不就是这样的吗?

读书人网 >C++

热点推荐