我制作了一个填充随机数的数组。我试图找出最大的& smalest元素通过使用两个不同的函数中的指针。使用指针的问题
但我的问题之一是,当我比较找到最低元素时,我的数组中的第一个元素更改为找到的最小值。
// Compare to find min value
min = array;
for (int i = 0; i < size; i++)
{
if (*min > *(min + i))
*min = *(min + i);
}
// show array using pointer
ptr = resetArray; // Fill int *ptr with original array
for (int i = 0; i < size; i++)
{
std::cout << *(ptr + i) << std::endl;
}
完成此比较后,它将* min值移动到数组的开头,替换数组中的第一个元素。
对不起,我的英文不好!
你自己用'*分= *(分+ I)'改变它。 – ForceBru
这正是'* min = *(min + i);'做的。你打算做什么? – Beta
这就是如果你使用指针会发生什么。如果你不想修改数组,你需要一个独立变量来存储min。 – NathanOliver