C语言 <assert.h> 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\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: jc2182 
    String entered is: jc2182