C语言中如何写断言

这是我自己动手写的,主要是参考了《华为代码规范》上的内容。

注意#define用法的各个事项,这里容易出错。

/********************************************** FILE NAME exam_assert.h AUTHOR Ginhom Lau Date 03.15.2011 Place Pohang **********************************************/ #ifndef ASSERT_H_INCLUDED void exam_assert( char * file_name, unsigned int line_no ) { printf( "/n[EXAM]Assert Failed: %s, line %u/n", file_name, line_no ); abort(); } #define EXAM_ASSERT(condition) / if (condition) / { / ; / } / else / { / exam_assert(__FILE__, __LINE__); / } #else #define EXAM_ASSERT(condition) NULL #endif // ASSERT_H_INCLUDED

记得要包含头文件进去。

/********************************************** FILE NAME exam_assert.c AUTHOR Ginhom Lau Date 03.15.2011 Place Pohang **********************************************/ #include "assert.h" int main(void) { EXAM_ASSERT(3 < 2); return 0; }

怎么样?短小精悍哈,基本意思达到了就行。再要什么复杂功能,自己去修改吧!

欢迎评论、留言,共同探讨。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值