【发布时间】:2021-12-15 19:20:29
【问题描述】:
我有一个任务,其中函数返回数组中元素的 MIN 和 MAX 值。但是我也必须从带有'NULL'参数的函数返回值,我不明白。
我的代码:
int array_min(const int [], const int);
int array_max(const int [], const int);
int main() {
int input_arr[] = {2,3,4,5,6};
printf("%d\t", array_min(input_arr, 5));
// : 2
printf("%d\t", array_max(input_arr, 5));
// : 6
printf("%d\t", array_max(NULL, 5));
// : -1
return 0;
}
int array_min(const int input_arr[], const int arr_size) {
int a, b = arr_size, min = input_arr[0];
for(a = 0; a < b; a++) {
if(input_arr[a] < min) {
min = input_arr[a];
}
}
return min;
}
int array_max(const int input_arr[], const int arr_size) {
int a, b = arr_size, max = input_arr[0];
for(a = 0; a < b; a++) {
if(input_arr[a] > max) {
max = input_arr[a];
}
}
return max;
}
所以,我的问题是,如何在函数中使用 'NULL' 来获取返回值 -1?
【问题讨论】:
-
如果参数为NULL,您是否尝试返回-1?