assert()函数(断言函数)

简介: assert()函数(断言函数)

assert()函数(断言函数)

一,快速了解一下assert函数

void assert (int expression);//括号里面是一个表达式。
  1. assert函数是一个宏。
  2. 括号里面的表达式如果为真,程序正常执行。
  3. 如果函数形式的宏的参数表达式比较等于零(即表达式为false),则会向标准错误设备写入一条消息,并调用中止,从而终止程序执行。。
  4. 显示的消息的具体内容取决于特定的库实现,但至少应包括:断言失败的表达式、源文件的名称以及发生断言的行号。常用的表达式格式为:
    A s s e r t i o n f a i l e d : ∗ e x p r e s s i o n ∗ , f i l e ∗ f i l e n a m e ∗ , l i n e ∗ l i n e n u m b e r ∗ Assertion failed: *expression*, file *filename*, line *line number*Assertionfailed:expression,filefilename,linelinenumber
  5. 在代码的开头,在包含**<assert.h>**之前。
  6. 此宏被设计为捕获编程错误,而不是用户或运行时错误,因为它通常在程序退出调试阶段后被禁用。

二,通过代码来清楚展现assert函数

void EX(int a){
    assert(a >= 0 && a < 10 );
    if(a % 2){
        printf("%d",a);
    }
}
int main(){
    int a;
    
    a = -1;
    EX(a);//表达式为false,触发断言函数,弹出消息框,程序中止。
    
    a = 4 ;
    EX(a);//表达式为true,程序正常执行们不会弹出消息框。
    
}

~~表达式为假时输出结果 :

相关文章
|
机器学习/深度学习 安全 网络安全
云安全中心:病毒查杀
云安全中心病毒查杀功能使用阿里云机器学习病毒查杀引擎和实时更新的病毒库,提供丰富的系统扫描项,覆盖持久化启动项、活动进程、内核模块、敏感目录、SSH后门公钥等系统薄弱模块,可有效清理服务器的各类恶意威胁。本文介绍如何使用病毒查杀功能。
742 1
|
设计模式 算法 安全
一文带你通俗理解23种软件设计模式(推荐收藏,适合小白学习,附带C++例程完整源码)
一文带你通俗理解23种软件设计模式(推荐收藏,适合小白学习,附带C++例程完整源码)
2398 0
|
机器学习/深度学习 存储 并行计算
一篇就够:高性能推理引擎理论与实践 (TensorRT)
本文分享了关于 NVIDIA 推出的高性能的深度学习推理引擎 TensorRT 的背后理论知识和实践操作指南。
15032 9
一篇就够:高性能推理引擎理论与实践 (TensorRT)
|
11月前
|
人工智能 安全 程序员
一文彻底搞清楚HarmonyOS元服务
本文介绍Harmony OS的元服务,这是一种轻量级应用程序形态,具备秒开直达、纯净清爽、服务相伴、即用即走等特性,支持多设备运行,提升服务获取效率。元服务开发流程包括创建项目、UI开发、真机调试、打包测试及上架发布。欢迎关注,一起成长!
3772 0
|
Ubuntu 网络安全
【ubuntu 网卡混杂模式设置】
【ubuntu 网卡混杂模式设置】
631 1
|
消息中间件 负载均衡 网络协议
ZMQ/ZeroMQ的三种消息模式
ZMQ/ZeroMQ的三种消息模式
ZMQ/ZeroMQ的三种消息模式
|
SQL 存储 数据库
数据库语言:DDL与DML详解
数据库语言:DDL与DML详解
5396 1
|
架构师 Java 数据安全/隐私保护
Fiddler安装和使用
Fiddler安装和使用
584 0
|
编译器 C语言 C++
聊聊Cobalt Strike 4.1的 BOF
聊聊Cobalt Strike 4.1的 BOF