【发布时间】:2014-05-19 15:20:10
【问题描述】:
我很难从 C 函数中获得真正的输出。例如:
int max3(int a, int b, int c){
if ((a>b)&&(a>c))
return a;
if ((b>c)&&(b>a))
return b;
return c;
}
您能告诉我如何指定实际输出(例如工具、算法等)吗? 在上面的示例中,实际输出为 6(如果 (a,b,c) = (1,2,6))。 非常感谢。
【问题讨论】:
-
很不清楚你所说的“真实”输出。请解释一下。
-
它没有按预期工作(即返回 6)?
-
如果你想知道方法输出什么,运行它然后你就会知道。
-
@YvesDaoust :我的工具接受用 C 编写的输入(CUnit);该工具是用Java编写的。具体来说,我必须找到一种分析CUnit的方法,以便从java环境中的函数中获取返回值。
-
你的意思是你不能从错误报告中检索到函数实际计算的值吗?如果为真,一个解决方案是定义您自己的
CU_ASSERT宏,使其不仅检查返回值,还格式化(sprintf)字符串缓冲区中的值,然后将其传递给CU_assertImplementation。