【发布时间】:2020-09-05 23:36:16
【问题描述】:
vector<int> initialiser(long long int number)
{
vector<int> numberArray(20);
for (vector<int>::iterator it = numberArray.begin(); it != numberArray.end(); it++)
{
numberArray[*it] = number % 10;
number /= 10;
}
return numberArray;
}
当这个函数被调用时(例如initialiser(123456),它返回一个零数组而不是这个数字的数组。
【问题讨论】:
-
欢迎来到 Stack Overflow!听起来您可能需要学习如何使用调试器来逐步执行代码。使用好的调试器,您可以逐行执行您的程序,并查看它与您期望的偏差在哪里。如果您要进行任何编程,这是必不可少的工具。进一步阅读:How to debug small programs 和 Debugging Guide
-
@NathanOliver 问题出在这一行 numberArray[*it] = number % 10;
-
如果我输入任何整数而不是数字 % 10;它工作正常。
-
请编辑您的问题以获取minimal reproducible example
-
你可能想要
*it = number % 10;
标签: c++ arrays function loops vector