利用循环 向数组输入元素问题
程序如下:
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高手帮菜鸟解答下啊,感激不尽啊!!!
[解决办法]
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;
[解决办法]
#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]
[解决办法]