c语言前提,C语言前提条件和后置条件

示例

声明的一种用例是前置条件和后置条件。这对于按合同维护不变性和设计非常有用。例如,长度始终为零或正,因此此函数必须返回零或正值。

#include 

/* Uncomment to disable `assert()` */

/* #define NDEBUG */

#include 

int length2 (int *a, int count)

{

int i, result = 0;

/* Precondition: */

/* NULL is an invalid vector */

assert (a != NULL);

/* Number of dimensions can not be negative.*/

assert (count >= 0);

/* Calculation */

for (i = 0; i 

{

result = result + (a[i] * a[i]);

}

/* Postcondition: */

/* Resulting length can not be negative. */

assert (result >= 0);

return result;

}

#define COUNT 3

int main (void)

{

int a[COUNT] = {1, 2, 3};

int *b = NULL;

int r;

r = length2 (a, COUNT);

printf ("r = %i\n", r);

r = length2 (b, COUNT);

printf ("r = %i\n", r);

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值