我试图找到一个给定数组的最小值和最大值,该数组的大小作为参数,并指示最小值和最大值。我做错了什么?
void FindMinMax(const int array[], int size, int* min, int* max)
{
int minVal = array[0];
int maxVal = array[0];
int i;
for (i = 1; i < size; i++) {
if (array[i] > maxVal) {
*max = array[i];
}
if (array[i] < minVal) {
*min = array[i];
}
}
return;
}
字符串
我尝试在新声明中将大小输入到数组中,但这不起作用,并说它无法定义。
1条答案
按热度按时间qvtsj1bj1#
minVal
和maxVal
在循环期间不会更新,因此只对数组的第一个元素进行比较。这意味着*min
和*max
将只是数组中大于/小于第一个元素的 * 最后 * 个值,而不一定是整个数组中的 * 最大 * 值或 * 最小 * 值。局部变量是冗余的。
字符串