C 需要编写函数的内容
有源代码。函数func的内容未知:C 需要编写函数的内容,c,C,有源代码。函数func的内容未知: #include <stdio.h> #include <math.h> float func (void) { // Black box } int main (void) { float f1, f2; int r1, r2; f1 = 5.0f; f2 = func(); r1 = (f1 > f2); r2 = (f1 <= f2); printf ("r1=%d r2=%d\
#include <stdio.h>
#include <math.h>
float func (void)
{
// Black box
}
int main (void)
{
float f1, f2;
int r1, r2;
f1 = 5.0f;
f2 = func();
r1 = (f1 > f2);
r2 = (f1 <= f2);
printf ("r1=%d r2=%d\n", r1, r2);
return 0;
}
回答:
返回功率(-5.0,0.5)
或
返回0.0/0.0
不明白,为什么会这样?关于答案
return 0.0/0.0;
它会回来的。现在在这种情况下,r1
和r2
都变成了0
float func (void)
{
return NAN;
}
如果你回来
return pow(-5.0, 0.5);
负数的平方根是虚的,因此不能表示为实浮点数,因此用NaN表示。在这种情况下,r1
和r2
都是0
您的函数如下所示:
float func (void)
{
return 0.0/0.0 // return pow(-5.0, 0.5);
}
另一个选择是,返回NaN。(包括
)
这是脑筋急转弯吗?你知道C中的
0.0/0.0
是什么意思吗?@TunZarniKyaw:f1>f2和f1都放返回NAN代码>NAN
是在math.h
标题中定义的宏。@dima读取此-pow(-5.0,0.5)
返回NAN
double-pow(double,double)
不返回复数。@MartinR;我刚刚在wiki上读到::)来自“man-pow”:pow(x,y)返回一个NaN,并引发有限x<0和有限非整数y的“无效”浮点异常。宏是NaN
,而不是NaN
。
float func (void)
{
return NAN;
}