<assert.h> - assert()

举报
CodeAllen 发表于 2021/10/30 01:22:09 2021/10/30
【摘要】 函数声明: void assert(int expression);   使用事项: 这就是常说的断言函数,用法就是在调试过程中debug错误的一种方式 断言是一种编程术语,可以理解为布尔类型(真或假)   assert会对形参进行检查: 如果expression是真的(对应值为1),则断言成功,表示...

函数声明:

void assert(int expression);

 

使用事项:

这就是常说的断言函数,用法就是在调试过程中debug错误的一种方式

断言是一种编程术语,可以理解为布尔类型(真或假)

 

assert会对形参进行检查:

如果expression是真的(对应值为1),则断言成功,表示程序正确,不进行任何操作

如果expression是假的(对应值为0),则表明程序错误,这是assert会向终端打印一条错误,并调用abort()函数终止代码运行

 

实例分析:


  
  1. #include <assert.h>
  2. #include <stdio.h>
  3. int main()
  4. {
  5. int a;
  6. char str[50];
  7. printf("请输入一个整数值: ");
  8. scanf("%d", &a);
  9. assert(a >= 10); //如果条件表达式为假,则报错
  10. printf("输入的整数是: %d\n", a);
  11. printf("请输入字符串: ");
  12. scanf("%s", str);
  13. assert(str != NULL);
  14. printf("输入的字符串是: %s\n", str);
  15. return(0);
  16. }
  17. /*
  18. 测试结果:
  19. 满足条件:
  20. 请输入一个整数值: 11
  21. 输入的整数是: 11
  22. 请输入字符串: nice
  23. 输入的字符串是: nice
  24. 异常测试:
  25. 请输入一个整数值: 5
  26. a.out: test.c:11: main: Assertion `a >= 10' failed.
  27. 已放弃 (核心已转储)
  28. */

 

文章来源: allen5g.blog.csdn.net,作者:CodeAllen的博客,版权归原作者所有,如需转载,请联系作者。

原文链接:allen5g.blog.csdn.net/article/details/117168871

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。