0
点赞
收藏
分享

微信扫一扫

assert.h、#if

​assert(expression)​​​,判断表达式 ​​expression​​。

如果注释掉 ​​#define NDEBUG​​,assert 语句被触发。

q@ubuntu:~$ ./a.out 
a.out: assert_test.c:13: main: Assertion `KEY==11' failed.
Aborted (core dumped)
q@ubuntu:~$ cat assert_test.c
// #define NDEBUG
#include <stdio.h>
#include <assert.h>
#define KEY 10
#if KEY==10
#define A "A"
#else
#define B "B"
#endif

int main()
{
assert(KEY==11);
printf("%s\n", A);
}
q@ubuntu:~$ ./a.out 
A
q@ubuntu:~$ cat assert_test.c
#define NDEBUG
#include <stdio.h>
#include <assert.h>
#define KEY 10
#if KEY==10
#define A "A"
#else
#define B "B"
#endif

int main()
{
assert(KEY==11);
printf("%s\n", A);
}


举报

相关推荐

0 条评论