#include <iostream>#include "std_lib_facilitIEs.h"int area (int length,int wIDth) { if (length <= 0 || wIDth <= 0) { error("area() pre-condition"); } int a = length * wIDth; if(a <= 0) { error("area() post-condition"); } return a;}int main() {int a;int b;while (std::cin >> a >> b) { std::cout << area(a,b) << '\n';}system("pause");return 0;}
虽然代码似乎有效,但我无法理解哪些输入会使前置条件成功但会触发后置条件.到目前为止,我已经尝试将字符串输入到其中一个输入中,但这只是终止程序并尝试查找等效于0的ascii,但同样的结果.这应该是某种技巧问题还是我错过了什么?
解决方法 考虑为输入使用较大的值,以便乘法溢出. 总结以上是内存溢出为你收集整理的c – Stroustrup的书中的前后条件全部内容,希望文章能够帮你解决c – Stroustrup的书中的前后条件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)