C 语言标准库宏 - assert()

返回上一级

C 语言标准库 <assert.h> 宏 void assert(int expression) 用于将诊断信息写入到标准错误输出中

也即是说,它可用在 C 程序中添加诊断信息

头文件

#include <assert.h> 

宏声明

下面是 assert() 宏的声明

void assert(int expression);

参数

  • expression: 可以是一个变量或任何 C 表达式。 如果 expression 为 TRUE,assert() 不执行任何动作。 如果 expression 为 FALSE,assert() 会在标准错误 stderr 上显示错误消息,并中止程序执行

返回值

范例

下面的范例演示了 assert() 宏的用法

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 *
 * Copyright © 2015-2065 www.twle.cn. All rights reserved.
 */

#include <assert.h>
#include <stdio.h>

int main()
{
   int a;
   char str[50];

   printf("请输入一个整数值: ");
   scanf("%d", &a);
   assert(a >= 10);
   printf("输入的整数是: %d\n", a);

   printf("请输入字符串: ");
   scanf("%s", str);
   assert(str != NULL);
   printf("输入的字符串是: %s\n", str);

   return(0);
}

编译运行以上范例,输出结果如下

$ gcc main.c && ./a.out
请输入一个整数值: 9
Assertion failed: (a >= 10), function main, file main.c, line 18.
[1]    98610 abort      ./a.out

返回上一级

C 语言标准库

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.