首页 > 代码库 > double x = 10 ,y = 0;y = x % 2; 这个表达式正确吗?

double x = 10 ,y = 0;y = x % 2; 这个表达式正确吗?


                                                                           The remainder function and % operator.


               下面这段代码过不了编译的(gcc)

#include <stdio.h>
#include <fenv.h>

int main()
{
	double x = 10;

	printf("x % 2 = %lf\n",x%2.0);

	return 0;
}


operator  % 仅能操作在整形数据中,(猜测,%的实现是根据数据位shift实现的).

这里浮点数的取余数调用<math.h> 里面的fmod(doube x,double y)即可



double x = 10 ,y = 0;y = x % 2; 这个表达式正确吗?