【发布时间】:2021-05-07 09:44:22
【问题描述】:
所以我已经将我的代码设置为这个(注意我有我的用户输入数组并在另一个函数和初学者中显示结果)
int main( )
{
using namespace std;
int a[8];
populateArray(a, 8);
cout<<"The array is: ";
displayArray(a, 8);
cout<<"\nThis array becomes: "<<sameElement(a, 8);
int sameElement(int a[], int size)
{
using namespace std;
for(int i = 0; i < size; i ++)
{
if( a[i] == a[i +1])
{
a[i + 1] = 0;
return i;
}
else
{
return a[i];
}
}
}
一直在尝试查看用户是否输入了重复的数字(效果很好)。我想将该重复项替换为零的用户输入的相同数组。可悲的是,我得到一个 0、1 或 2,它替换了整个数组。不知道如何将它返回到我的 main 中,因为它还说尽管在我的函数中调用它并试图找到返回函数的正确方法,但我没有从我的函数返回任何内容。我已经在顶部声明了我的函数,它们也都与参数匹配。所以还是不明白为什么我总是遇到将我的函数返回到 main 的问题?
例子:
数组:1 2 2 3 4 5 5 7 数组变为 1 0 0 3 4 0 0 7
【问题讨论】:
-
你看到
sameElement的回报了吗?它会总是在第一次迭代时返回。
标签: c++ arrays for-loop if-statement