Closed. This question needs details or clarity. It is not currently accepting answers. Learn more。
想改进这个问题吗?添加细节并通过editing this post澄清问题。
两年前关闭。
我一直在做一些关于
代码示例
困惑:我困惑的部分是
想改进这个问题吗?添加细节并通过editing this post澄清问题。
两年前关闭。
我一直在做一些关于
modf()
函数的研究,我对如何使用它有一些困难。代码示例
#include<stdio.h>
#include<math.h>
int main ()
{
double x, fractpart, intpart;
x = 8.123456;
fractpart = modf(x, &intpart);
printf("Integral part = %lf\n", intpart);
printf("Fraction Part = %lf \n", fractpart);
return(0);
}
困惑:我困惑的部分是
fractpart
。我很难理解它是如何工作的,因为我只想存储十进制数的整数部分。还有,double
的意义是什么。 最佳答案
首先,double
是很容易理解的。Float
只存储7位数字,而adouble
存储15-16位数字。更多细节here
现在是modf
。在modf
中,它首先检查fractpart =
。差不多在扫描它。完成后,它将之前的所有内容存储在x
中的小数点中。之后,剩下的存储在inpart
中,小数是哪个。把每件事都加起来就像是。这就是为什么我们把fractpart
放在modf
之前的原因。
10-08 11:15