【发布时间】:2014-02-02 21:38:18
【问题描述】:
我有一个向量,我试图用随机数填充它。我一直遇到一个问题,但是每次我运行它时,向量大多输出 0(它不应该输出 0)。我在下面编写的代码中做错了什么以使其输出 0(它输出 0 比任何其他数字都多):
vector<int> myVector;
srand((unsigned)time(NULL));
int a = rand() % 20 + 1; //1 to 20
for (int i =0; i < a; i++){
int b = rand() % 20 + 1;
myVector.push_back(b);
cout << myVector[b] << endl;
}
我是一个初学者,很长一段时间没有做过太多的 C++ 编程,所以我不确定是什么导致我的代码出现故障。如果有人能解释我做错了什么,将不胜感激。
【问题讨论】:
-
myVector[b] 应该是 myVector[i]
-
或者,可以说应该是
myVector.back()