Closed. This question needs details or clarity. It is not currently accepting answers. Learn more
想改进这个问题吗?添加细节并通过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