C / C ++中的断言
在这里,我们将了解什么是C/C++中的断言。C库宏voidassert(intexpression)允许将诊断信息写入标准错误文件。换句话说,它可用于在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