在这里,我们将了解什么是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