栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言——断言assert的使用

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言——断言assert的使用

前言

我们在使用代码时,为了节省时间,经常进行代码的复用,那么如何保证别人在使用我们代码时可以达到预想的结果,加注释可能是一种办法,但一般都可以想到在我的函数体部分加入限制条件,但是今天我们我们介绍一种更普遍的方法,用assert断言来实现我们的想法。

在这里我们用一个增加数组元素的函数为例

void AddValue(int* arr, int value, int len, int index, int size){
if (arr != NULL && len > 0 && index < len && size < len) {
		//移动数据
		for (int i = size - 1; i >= index; i--) {
			arr[i + 1] = arr[i];
		}
		//插入元素
		arr[index] = value;
	}
}

这我们可以看到,只有满足if中条件才能继续执行以下代码

我们再用断言来更改

void AddValue(int* arr, int value, int len, int index, int size) {
	assert(arr != NULL && len > 0 && index < len&& size < len);
	//移动数据
	for (int i = size - 1; i >= index; i--) {
		arr[i + 1] = arr[i];
	}
	//插入元素
	arr[index] = value;
}
int main() {
	int arr[10] = { 1,2,3 };
	int len = sizeof(arr) / sizeof(arr[0]);
	AddValue(arr, 0, len, 0, 6);
	return 0;
}

要注意的是断言中的语句要是全反的,其次使用时应加上头文件#include

比如我们在这里将len输入为-1

会出现以下结果

 

这就可以提醒使用者输入发生了错误

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1018861.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号