assert()

简介: assert()

注意

ASSERT 只有在 Debug 版本中才有效,如果编译为 Release 版本则被忽略


描述

C 库宏 void assert(int expression) 允许诊断信息被写入到标准错误文件中。换句话说,它可用于在 C 程序中添加诊断。


ASSERT() 是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为 FALSE (0) , 程序将报告错误,并终止执行。如果表达式不为 0 ,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。


语法

语法如下:

void assert(int expression);


参数:

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


实例

#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);
}


让我们在交互模式下编译并运行上面的程序,如下所示:

请输入一个整数值: 11
输入的整数是: 11
请输入字符串: iricbing 
输入的字符串是: iricbing


目录
相关文章
|
7月前
|
人工智能
assert()函数(断言函数)
assert()函数(断言函数)
assert()函数(断言函数)
|
7月前
assert()函数用法总结
assert()函数用法总结
|
3月前
|
程序员 开发者
<assert.h>详解
`&lt;assert.h&gt;` 是 C 标准库中的头文件,用于程序调试,提供测试条件并在条件不满足时生成错误的功能,帮助开发者在开发和测试阶段发现潜在错误
|
7月前
|
传感器 安全 编译器
【C++断言机制】深入理解C/C++ 中静态断言static_assert与断言 assert
【C++断言机制】深入理解C/C++ 中静态断言static_assert与断言 assert
141 0
|
测试技术
Assert断言的使用
Assert断言的使用
186 0
assert.h
assert.h
67 0
|
测试技术 Python
pytest之assert断言的具体使用
pytest之assert断言的具体使用
197 0