C/C++中的断言


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

以下是 assert() 宏的声明。

void assert(int expression);

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

示例代码

#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 %d\n", a);
   printf("Enter string: ");
   scanf("%s", &str);
   assert(str != NULL);
   printf("String entered is: %s\n", str);
   return(0);
}

输出

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

更新日期: 30-Jul-2019

366 次浏览

开启您的职业生涯

完成课程以获得认证

获取入门说明
广告