C / C ++中的断言

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

以下是assert()宏的声明。

void assert(int expression);

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

范例程式码

#include <assert.h>
#include <stdio.h>
int main () {
   int a;
   char str[50];
   printf("输入一个整数值: ");
   scanf("%d", &a);
   assert(a >= 10);
   printf("Integer entered is %d\n", a);
   printf("输入字符串: ");
   scanf("%s", &str);
   assert(str != NULL);
   printf("String entered is: %s\n", str);
   return(0);
}

输出结果

输入一个整数值: 11
Integer entered is 11
输入字符串: nhooo
String entered is: nhooo