【发布时间】:2020-09-04 03:26:35
【问题描述】:
我正在尝试打印数组的前 10 个和后 10 个元素。我在下面的尝试在无限循环中返回以下内容
Word: Count 0
void printarrayString(std::string arr[], int size)
{
int i;
int j;
std::cout << "***first 10 elements***" << std::endl;
for (i = 10; i < size; i++)//print first 10 elements
std::cout << "Word: " << wordArr[i] << " " << "Occurs: " << countArr[i] << std::endl;
std::cout << std::endl;
std::cout << "***last 10 elements***" << std::endl;
for(j = 10; j < size-10; j-- ) //print last 10 elements
std::cout << "Word: " << wordArr[i] << " " << "Occurs: " << countArr[i] << std::endl;
std::cout << std::endl;
}
如何修复循环,以便循环 1 打印 wordArr 和 countArr 的前 10 个元素,而循环 2 打印最后 10 个元素?谢谢你
【问题讨论】:
-
我建议你在那个函数上做一些rubber duck debugging。例如,您在循环中打印的第一个元素的索引是什么(两个循环)?
-
如果您没有意识到,您使用 j 作为迭代器, i 作为反向循环中的索引器。是不是打错字了?
-
请注意
arr不是一个数组。它是指向std::string的指针。