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
广告