一般而言:我们的求最大(小)值函数一般如下:
int max_num(int* temp, int n) {
//temp接收的是一个数组,n接收数组中数据的个数
if (n == 0)//列表中数据个数为0
return -1;//-1作为列表为空的标志
int max = temp[0];//初始化max
for (int i = 1; i < n; i++) {//遍历数据得到max
if (temp[i] > max) {
max = temp[i];
}
}
return max;//返回max
}
这个代码在初学C的时候是非常适用的,但是如果数据中有-1,且-1是最大(小)值时,这个函数就不适用了,最简单的处理办法是先判定是否为空再调用,也可以返回一个结构体
例如:
struct empty{
int data_max;//存储最大值
_Bool F;//标志变量判定列表中的数据是否为空
//_Bool如果使用了头文件stdbool.h,可以直接用bool表示布尔类型
};
最后,也有大佬说:建议直接exit,什么都没有求什么最大(小)值.