C/C++ 中的断言

c++cserver side programmingprogramming

在这里我们将看到什么是 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

相关文章