位置:首页 > 高级语言 > C语言标准库 > C函数库宏 assert()

C函数库宏 assert()

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