- C 标准库
- C 库 - 首页
- C 库 - <assert.h>
- C 库 - <complex.h>
- C 库 - <ctype.h>
- C 库 - <errno.h>
- C 库 - <fenv.h>
- C 库 - <float.h>
- C 库 - <inttypes.h>
- C 库 - <iso646.h>
- C 库 - <limits.h>
- C 库 - <locale.h>
- C 库 - <math.h>
- C 库 - <setjmp.h>
- C 库 - <signal.h>
- C 库 - <stdalign.h>
- C 库 - <stdarg.h>
- C 库 - <stdbool.h>
- C 库 - <stddef.h>
- C 库 - <stdio.h>
- C 库 - <stdlib.h>
- C 库 - <string.h>
- C 库 - <tgmath.h>
- C 库 - <time.h>
- C 库 - <wctype.h>
- C 标准库资源
- C 库 - 快速指南
- C 库 - 有用资源
- C 库 - 讨论
C 库 - assert() 宏
C 的assert库的assert()宏用于错误处理,以检查程序运行时做出的任何假设是否正确。它用于在开发阶段本身捕获程序中的逻辑错误。
语法
以下是assert()宏的 C 库语法 -
void assert(int expression);
参数
此宏接受一个参数 -
表达式 - 它是一个条件语句,其结果为真或假。如果表达式的结果为假 (0),则 assert() 函数会触发断言失败,导致程序终止。
返回值
此宏不返回值。如果断言失败(表达式结果为假),它会触发错误消息并中止程序执行。
示例 1:检查简单表达式
在此示例中,assert() 检查变量 x 是否等于 5。如果条件为真,则程序成功执行并打印“断言通过!”。如果它不为真,则程序将中止并打印诊断消息。
#include <stdio.h> #include <assert.h> int main() { int x = 5; assert(x == 5); printf("Assertion passed!\n"); return 0; }
输出
以上代码产生以下结果 -
Assertion passed!
示例 2:检查逻辑表达式
在此示例中,assert() 检查变量 a 和 b 的和是否大于 5。由于总和等于 8,大于 5,因此条件为真。但是,如果条件结果为假,则会显示错误消息。
#include <stdio.h> #include <assert.h> int main() { int a = 5, b = 3; assert((a + b) > 5 && "Sum is not greater than 5"); printf("Assertion passed!\n"); return 0; }
输出
以上代码产生以下结果 -
Assertion passed!
广告