C库宏 void assert(int expression) 允许被写入标准错误文件的诊断信息。换句话说,在C程序可以用来诊断程序。
声明
以下是声明assert()宏。
void assert(int expression);
参数
-
expression -- 这可以是一个变量或任何C表达式。如果expression 计算结果为TRUE,assert()什么都不做。如果表达式计算为false时,assert() 显示stderr和中止执行程序上的错误信息。
返回值
此宏不会返回任何值。
实例
下面的例子显示使用assert() 宏
#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 ", a); printf("Enter string: "); scanf("%s ", &str); assert(str != NULL); printf("String entered is: %s ", str); return(0); }
让我们编译并运行上述程序在交互模式,如下图所示:
Enter an integer value: 11 Integer entered is 11 Enter string: yiibai String entered is: yiibai