首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C89中的断言?

C89中的断言?
EN

Stack Overflow用户
提问于 2010-02-02 02:33:32
回答 1查看 505关注 0票数 0

我在MSFT Visual Studio2010Beta上写C89。如何创建类似于Java的assert关键字的断言?我想我需要定义一个宏,但我不确定如何定义。(这似乎是以前做过的事情,所以我宁愿使用它,而不是尝试使用我自己的。)

下面是我的猜测:

代码语言:javascript
复制
int assert(int truth_value) {
   // crash the program with an appropriate error message   
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-02 02:37:01

C89提供了<assert.h>,其中包含您要查找的宏。

代码语言:javascript
复制
#include <assert.h>
assert(expression);

从文档中:

assert()宏将测试给定的表达式,如果为false,则终止调用进程。向stderr写入一条诊断消息,并调用abort(3)函数,从而有效地终止程序。

如果表达式为true,则assert()宏不执行任何操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2179090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档