我是一名试图了解循环如何工作的初学者。我正在尝试使用下面的代码来查找数组中最大元素的值。它只运行了4次迭代,尽管我已经设置了n值=数组的大小= 5。因此,它没有测试最后一个元素的if条件,不知道为什么?好心提醒。无法理解循环迭代
int main()
{
int a[] = {1,2,3,4,5};
int* max;
int i, n;
n = sizeof(a)/sizeof(a[0]);
max = a;
for(i=0; i<n; i++)
{
if(a[i] > *max)
{
*max = a[i];
i++;
}
}
cout << "Maximum element in the array is : " << *max << endl;
}
O/P: - 数组中的最大元素是:4
你在哪里声明了a,n和max?这段代码看起来很腥...... –
刚刚更新了它。 – Aisha
当您执行'* max = a [i]'时,您正在更改数组中的值,因为max指向数组中的值。 – stark