C函数库宏 assert()
C库宏 void assert(int expression) 允许被写入标准错误文件的诊断信息。换句话说,在C程序可以用来诊断程序。
声明
以下是声明assert()宏。
voidassert(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