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,程序正常执行们不会弹出消息框。
    
}

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

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

112233123hd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值