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