C语言断言的使用方法有以下几种:
示例:
#include <assert.h>
#include <stdio.h>
int main() {
int x = 10;
assert(x > 0);
printf("x is positive\n");
return 0;
}
运行结果:
x is positive
示例:
#include <stdio.h>
_Static_assert(sizeof(int) == 4, "int size must be 4 bytes");
int main() {
printf("int size is 4 bytes\n");
return 0;
}
编译错误:
error: static assertion failed: "int size must be 4 bytes"
示例:
#include <stdio.h>
#define my_assert(condition, message) \
if (!(condition)) { \
fprintf(stderr, "Assertion failed: %s\n", message); \
exit(1); \
}
int main() {
int x = 10;
my_assert(x > 0, "x must be positive");
printf("x is positive\n");
return 0;
}
运行结果:
x is positive
注意:断言是用来检查代码逻辑错误的工具,一般在开发和调试阶段使用。在发布生产环境的代码时,应该禁用断言或移除它们,以提高性能。