C 库 - assert() 宏



C 的assert库的assert()宏用于错误处理,以检查程序运行时做出的任何假设是否正确。它用于在开发阶段本身捕获程序中的逻辑错误。

语法

以下是assert()宏的 C 库语法 -

void assert(int expression);

参数

此宏接受一个参数 -

  • 表达式 - 它是一个条件语句,其结果为真或假。如果表达式的结果为假 (0),则 assert() 函数会触发断言失败,导致程序终止。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

返回值

此宏不返回值。如果断言失败(表达式结果为假),它会触发错误消息并中止程序执行。

示例 1:检查简单表达式

在此示例中,assert() 检查变量 x 是否等于 5。如果条件为真,则程序成功执行并打印“断言通过!”。如果它不为真,则程序将中止并打印诊断消息。

Open Compiler
#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,因此条件为真。但是,如果条件结果为假,则会显示错误消息。

Open Compiler
#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!
广告