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