函数求最大(小)值时存在数据为空的情况时

一般而言:我们的求最大(小)值函数一般如下:

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,什么都没有求什么最大(小)值.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值