首页 > 文章列表 > C/C++ 中的断言

C/C++ 中的断言

215 2023-08-29

这里我们将了解什么是 C/C++ 中的断言。 C 库宏 void assert(int expression) 允许将诊断信息写入标准错误文件。换句话说,它可用于在您的 C 程序中添加诊断。

以下是 assert() 宏的声明。

void assert(int expression);

这个assert()的参数是表达式 - 这可以是一个变量或任何C表达式。如果表达式的计算结果为TRUE,则assert()不执行任何操作。如果表达式的计算结果为FALSE,则assert()会在stderr(显示错误消息和诊断的标准错误流)上显示一条错误消息,并中止程序执行。

< h2>示例代码
#include <assert.h>
#include <stdio.h>
int main () {
   int a;
   char str[50];
   printf("Enter an integer value: ");
   scanf("%d", &a);
   assert(a >= 10);
   printf("Integer entered is %dn", a);
   printf("Enter string: ");
   scanf("%s", &str);
   assert(str != NULL);
   printf("String entered is: %sn", str);
   return(0);
}

输出

Enter an integer value: 11
Integer entered is 11
Enter string: tutorialspoint
String entered is: tutorialspoint